第22课 石头剪刀布

任务描述

制作一个小游戏----石头剪刀布,玩家与电脑对弈,玩家从键盘输入数字,1代表石头,2代表剪刀,3代表布,游戏规则是石头砸碎剪刀,剪刀剪开布,布包住石头。

程序展示

python 复制代码
# 导入一个随机数模块
import random

#设置无限次的循环
while True:
    # 定义一个变量,来接收玩家选择的参数
    number = int(input('请输入一个数字\
    (1 - 石头, 2 - 剪刀, 3 - 布,4 - 退出):'))
    # 定义一个变量,来表示电脑的操作
    computer = random.randint(1, 3)
    # 如果键盘输入4,则游戏停止
    if number == 4:
        break
    # 如果玩家操作与电脑相同,则平局
    elif number == computer:
        print('电脑出了%s,平局!' % computer)
    #如果玩家是石头,电脑是剪刀,
    #或者玩家是剪刀,电脑是布,
    #或者玩家是布,电脑是石头,则玩家获得胜利
    elif(number == 1 and computer == 2) or \
        (number == 2 and computer == 3) or \
        (number == 3 and computer == 1):
        print('电脑出了%s,玩家获胜!' % computer)
    # 否则电脑获胜
    else:
        print('电脑出了%s,电脑获胜!' % computer)

课后练习

改善一下课堂上老师所讲的程序,看看能否做出更好玩的以及用户体验更好的程序?

python 复制代码
# 导入一个随机数模块
import random

# 设置无限次的循环
while True:
    # 定义一个变量,来接收玩家选择的参数
    number = int(input('请输入一个数字\
(1-石头,2-剪刀,3-布,4-退出):'))
    # 定义一个变量,来表示电脑的操作
    computer = random.randint(1, 3)
    # 判断键盘输入,数字转化为文字描述
    if number == 1:
        print('玩家出了石头')
    elif number == 2:
        print('玩家出了剪刀')
    elif number == 3:
        print('玩家出了布')
    # 如果键盘输入4,则游戏停止
    elif number == 4:
        print('游戏结束!')
        break
    else:
        print('输入错误!请重新输入!')
        continue
    #判断电脑操作,转化为文字描述
    if computer == 1:
        print('电脑出了石头')
    elif computer == 2:
        print('电脑出了剪刀')
    elif computer == 3:
        print('电脑出了布')
    # 如果玩家操作与电脑相同,则平局
    if number == computer:
        print('平局!')
    # 如果玩家是石头,电脑是剪刀,
    # 或者玩家是剪刀,电脑是布,
    # 或者玩家是布,电脑是石头,则玩家获得胜利
    elif (number == 1 and computer == 2) or \
            (number == 2 and computer == 3) or \
            (number == 3 and computer == 1):
        print('玩家获胜!')
    # 否则电脑获胜
    else:
        print('电脑获胜!')
相关推荐
智能体与具身智能9 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
2601_962294619 小时前
python中range函数怎么用
python·for循环·可迭代对象·range函数·整数列表
青 春 记 忆10 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马10 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
白山编程大哥11 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
落羽的落羽12 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
Chasing__Dreams12 小时前
大模型应用开发--13--RAG 查询优化策略
python
“AI国潮设计-小江”12 小时前
《Python实战 | SDXL大模型批量生成“英歌舞海浪”蛋糕IP,附核心Prompt控制代码与IP授权变现思路》
人工智能·python·prompt·aigc
znnnk13 小时前
【Python】GUI 开发从入门到实战(三):PyQt/PySide 进阶之路
开发语言·python·pyqt
触底反弹14 小时前
面试被问到 Text2SQL,我用 DeepSeek 自己实现了一个
python·sqlite