python实现21根火柴游戏

python实现21根火柴游戏

今天用python实现一个21根火柴游戏,规则是 :有21根火柴,人和计算机轮流拿,人先拿(输入拿几根)计算机后拿,每次至少1根最多4根,拿到最后一根火柴的算输,要确保计算机一定可以获胜!

仔细思考或者找规律后,你会发现要保证机器不拿到最后一根,每次机器拿了火柴后一定要保证剩余的火柴是这几个数16、11、6、1,这样就一定使得最后一根火柴留给人拿,进一步发现要使得剩下的火柴数是以上几个数,那么就要每轮机器和人拿走的火柴数加起来等于5根,知道这个规律后,就可以用python来实现了
代码如下:

total = 21                 # 用于统计火柴根数
while total > 0:      
    try:   
        n = int(input(f"请输入你要拿的根数"))    
        person = '人'    
        if  0 < n < 5:      #保证人拿的火柴根数
            total -= n
            print(f"人拿了{n}根,还剩{total}根")
            if total == 1 :
                print(f"{person}赢了")
            computer = 5 - n
            total -= computer
            compters = '机器'
            print(f"机器拿了{computer}根,还剩{total}根")
            if total == 1 :
                print(f"{compters}赢了")
        else:
            print("输入的值大于4或者小于1,请重新输入")
    except Exception as err:
        print("输入的值不是数字,请重新输入")

大家学废了吗?赶紧自己试试
如果对你有用,别忘记点赞关注加收藏哦!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Python和数据分析

钟意作者

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

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

打赏作者

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

抵扣说明:

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

余额充值