第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('电脑获胜!')
相关推荐
kyrie_sakura24 分钟前
大模型学习7 -- 深度学习2 -- 张量
python·深度学习
智鸟科技GemeOpen开发者智能设备1 小时前
智能插座二次开发如何接入Home Assistant,从零开始完整工程实现(Python+React)
开发语言·python·物联网·react.js·智能家居
hqyjzsb1 小时前
法律 Prompt 干货:搭建合同审查提示词要包含哪些要素
开发语言·人工智能·python·职场和发展·数据分析·prompt·业界资讯
Andreapiki1 小时前
风险审计校招技术栈拆解:SQL、Python、Power BI在2026届JD中的真实权重
数据库·python·sql
2601_966949652 小时前
股票池发生变化后,如何高效更新行情数据?从全量刷新到增量同步
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
玖石书2 小时前
python-uv-windows环境安装方案
windows·python·uv
happylifetree2 小时前
Python06-08:Python开发工具PyCharm安装
python·pycharm
liuchangng2 小时前
类Jev项目Kev从入门到实战(1):Kev 是什么——不开权重也能自训的决策模型
人工智能·python·jev·kev·决策模型
leihefeng3 小时前
PX06-对比两个 Excel 文件的差异:从逐单元格到生产级实现
python·excel
Ticnix3 小时前
MCP 上个月把自己推翻重写了:Session 没了、Sampling 废了——你学的教程还停在 2025
python·agent·全栈