猜拳小游戏

题目要求

规则:系统随机出拳,在控制台中循环猜测.
提示:(1)将胜利的策略存入容器
(
(“石头”,“剪刀”),
(“剪刀”,“布”),
(“布”,“石头”)
)
(2) 将用户猜的拳与系统出拳形成一个元组
作业:实现三局两胜.


```python
import random
# 定义一个输入出拳的函数
def hostInputfist():
    # 初始化数值及列表
    loop = 0
    list1 = []
    tuple_s = {}
    # 定义一个存放剪刀、石头、布的字典
    fist_number = {"剪刀": 1,"石头": 2,"布": 3}
    # 循环三次,使得游戏有三局
    while loop <= 2:
        # 系统随机生成的随机出拳
        random_fist = random.choice(('剪刀', '石头', '布'))
        print("系统随机给出的拳:" + random_fist)
        # 用户输入一个出拳
        fist = input("用户输入的拳头:")
        # 对用户输入的值进行判断,如果不在其中跳出输入,系统随机更改出拳
        if fist not in (key for key in fist_number.keys()):
            print("输入错误请重新输入")
            continue
        # 两个字符串相等,跳出
        if fist == random_fist:
            print("系统给出的拳头相同不添加")
            continue
        # 否则胜出(计算机或用户胜出)
        else: # 对用户与系统中对应的字典数值比较,判断输赢(可以把用户赢得直接判断出来其余都是系统赢),赢了尾部添加
            if fist_number[random_fist]<fist_number[fist]<fist_number["布"] or \
               fist_number["剪刀"]<fist_number[random_fist]<fist_number[fist]or \
            fist_number[fist]<fist_number["石头"]<fist_number[random_fist]:
                print('用户赢啦')
                list1.append((fist, random_fist))
                tuple_s = tuple(list1)
            else:
                # 计算机赢了不添加
                print('输啦,计算机赢了,不添加')
                # 将循环的次数每次加一
            loop = loop + 1
            print("第%d次数输入完成" % loop)
# 游戏最终的目的是进行三局两胜,如果用户运气不佳三局都输了或者两局可以根据元组的长度进行判断输赢
    if len(tuple_s) < 2:
        print("系统胜出")
    else:
        print("用户胜出")
if __name__ == '__main__':
    hostInputfist()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值