第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('电脑获胜!')
相关推荐
测试秃头怪1 小时前
postman接口测试详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
小白的后端世界2 小时前
LangChain 模型创建与调用实战:从 init_chat_model 到企业级多模型接入
人工智能·python·langchain
Zane19942 小时前
copy 和 deepcopy 到底在拷贝什么?一文讲清赋值、浅拷贝、深拷贝的引用关系
后端·python
AC赳赳老秦2 小时前
软著公开信息批量采集:OpenClaw 抓取软件著作权公开数据,分析企业技术布局方向
大数据·网络·人工智能·python·php·deepseek·openclaw
zhiSiBuYu05172 小时前
Flask 路由新手入门与实战指南
后端·python·flask
qq_22589174662 小时前
基于Python的城市内涝积涝监测数据可视化分析系统
后端·python·信息可视化·数据分析·django
benben0442 小时前
大模型之基于PEFT的SFT微调实战篇
开发语言·python
淼澄研学2 小时前
PyTorch深度学习实战:5个核心方法从0到1构建神经网络
前端·数据库·python
SunnyDays10112 小时前
Python 将 Excel(XLS/XLSX)转换为 JSON:导出工作簿、工作表、单元格区域与自定义 JSON 结构
python·json·excel·excel 转 json·导出 excel 到 json·xlsx 转 json·xls 转 json