Python每日一练——第11天:石头剪刀布小游戏



1. 算法描述

游戏开始,初始状态下用户和电脑都有100分,赢一局+10分,输一局-10分
当用户为0分时,游戏结束,提示游戏结束,比赛输了当用户为200分时,游戏结束,提示游戏结束,赢得比赛
每轮比赛都输出当前的分数

2. 算法分析

小游戏可以拆解为:双方出拳→双方亮拳(打印一下)→判断胜负→赢:加分;输:减分

3. 算法思路

  • 我们要让双方选择出拳,才能判断胜负。
  • 我们可以设置变量computer_choice代表电脑的出拳选择,设置变量user_choice代表你的出拳选择。
  • 电脑的出拳,我们可以使用random.choice()来随机选择;我们的出拳,可以手动输入我们出拳的类型。
  • 注:
    • 判断下输入:当输入的内容不是石头剪刀布时,电脑会提醒’输入有误,请重新出拳’。
    • 判断的语句为:while a not in list1,即当元素 a 不在列表 list1。

4. 代码实现

实现代码📝:

# 1代表剪刀,2代表石头,3代表布
import random

print("=" * 20)
print('' * 20, '剪刀石头布游戏')
print('1代表剪刀,2代表石头,3代表布')
game_info = {1: '剪刀', 2: '石头', 3: '布'}
score = 100  # 初始分
while True:
    robots_choice = random.randint(1, 3)  # 电脑随机出拳
    user_choice = input('请出拳:')
    if user_choice not in '123':
        print('出拳错误,请重新出')
        continue
    user_choice = int(user_choice)
    print('*' * 20)
    print('电脑出:', game_info[robots_choice])
    print('自己出:', game_info[user_choice])
    print('*' * 20)
    if (user_choice == 1 and robots_choice == 3) or (user_choice == 2 and robots_choice == 1) or (
            user_choice == 3 and robots_choice == 2):
        score += 10
        print('你赢得本轮游戏,当前分数为:',score)
    elif user_choice == robots_choice:
        print('本轮游戏平局,当前分数为:', score)
    else:
        score -= 10
        print('你输掉本轮游戏,当前分数为:', score)

    if score >= 200:
        print('游戏结束,你赢得比赛')
        break
    elif score <=0:
        print('游戏结束,你输了')
        break

运行结果👇:小伙伴们自行上号体验

在这里插入图片描述


《100天精通Python》专栏推荐白嫖80g Python全栈视频

《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点订阅限时9.9付费专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会)!
  • 专栏福利简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
    在这里插入图片描述
    在这里插入图片描述
  • 44
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 53
    评论
评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁袁袁袁满

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值