第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('电脑获胜!')
相关推荐
骑士雄师几秒前
多轮对话流程梳理详细版本
python
进击的明明13 小时前
当AI开始“边想边干”:深入聊聊ReAct,以及如何用Python手搓一个简单Agent
python·面试·agent
全栈弄潮儿14 小时前
Python实战第8期:函数
后端·python·编程语言
卷无止境16 小时前
暗流与破局:AI时代的代码安全审查工具全景指南
后端·python
卷无止境18 小时前
一人公司的全栈选型指南:让 AI Agent 写得快,也让生意跑得稳
后端·python
滴啦嘟啦哒20 小时前
【具身笔记】【π0.5 微调与仿真】五、在MuJoCo中实现可视化仿真
笔记·python·vla·具身
全栈练习生20 小时前
AI安全与红队测试
python·ai
费曼学习法20 小时前
把「发送成功」当「送达」?我排查 IM 长消息被静默吞掉的完整过程
python·ai编程·自动化运维
鸽鸽程序猿20 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
NetX行者21 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python