第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('电脑获胜!')
相关推荐
张龙6872 小时前
uv 全面指南:比 pip 快 100 倍的 Python 包管理器,从安装到团队落地
后端·python
@HNUSTer2 小时前
Python数据可视化科技图表绘制系列教程(八)
python·数据可视化·科技论文·专业制图·科研图表
专注仿真3 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
满怀冰雪4 小时前
22-使用 PaddleClas 快速训练图像分类模型
人工智能·python·机器学习·分类·数据挖掘·paddlepaddle
gb42152874 小时前
python中Web应用服务器
开发语言·前端·python
reasonsummer6 小时前
【办公类-109-12】20260901圆形挂牌(模版重制:文本框圆形重叠_word编辑单面_接送卡&被子卡&床卡&入园卡)
python·word
名明鸣冥6 小时前
k8s-agent架构思考(一)
python
DoLovya6 小时前
从零实现 ESP8266 + MQTT 智能门禁:公网一键开门、舵机控制、在线监控完整方案
python·物联网·mqtt·嵌入式·esp8266·门禁系统
AI情绪识别开源7 小时前
检信ALLEMOTION VibrationAI 2.4.0 12维度情绪识别开源源代码
开发语言·python
极创信息7 小时前
国产化信创适配认证高频术语:信创适配、软件自主可控、国产化率、代码溯源率、代码自主率、代码开源率是什么?
java·python·struts·eclipse·开源·php·hibernate