分享一个有趣的数学游戏,现实版和python版

分享一个有趣的数学游戏,现实版和python版

首页休闲益智数学家模拟器更新时间:2024-05-11
小游戏规则:

这是一个有趣的数学游戏,你可以控制输赢的游戏,规则如下:

桌子上有21根火柴,两人轮流取,每人每次取1根或者两根,谁拿到最后一根谁就获胜!

这样的游戏孩子特别爱玩,玩的时候,如果没有火柴,可以用牙签、扑克卡牌来代替,能让孩子在玩的过程中学会数学,学会从中寻找规律。

(后面揭露可以必胜的方法!你先提前思考一下吧!!)

python 制作21根棍子游戏

这个游戏可以两个人玩,也可以多个人玩,更可以用python做个程序逗你玩!!!

以上是现实版的,以下咱们就做一下这个数学游戏的python版!

python电脑智障版

这一版为傻瓜版,电脑在傻乎乎地“玩”游戏,为了便于理解,按逻辑直接写的代码,没有使用函数等,不够精简。

部分知识点:

import random 为导入随机库

continue 为跳出本次循环,break为打断整个循环

randint(1,2,)生成一个1-2的随机数

'下一回合'.center(20,'-') 文字居中对齐,两边用 - 填充,总字数为20

import random sticks = 21 print("桌面上有共有你根棍子,请拿取 1 根或 2 根") print("谁拿到最后一根就获胜!") while True: #玩家拿 print('请拿 1 根或 2 根棍子!') user = int(input('>>>'))#获取玩家输入 if user<0 or user>2:#如果输入的数量不符合要求 continue#就退出去重新输入 else: sticks-=user #总数减去玩家拿走的 if sticks==1 or sticks==2: print('你输了,电脑赢得了游戏!') break #彻底打断循环,游戏结束 elif sticks==3 or sticks==0: print('恭喜!这局你战胜了电脑!') break else: print(f"你拿了{user}根棍子,当前剩余{sticks}根") #电脑拿 #电脑随机生成一个1-2的整数 computer = random.randint(1,2) print(f'电脑拿了{computer}根棍子。') sticks-=computer #总数减去电脑拿的 if sticks==1 or sticks==2: print('恭喜,你赢了这局游戏!') break elif sticks==3 or sticks==0: print('你输了!') break else: print(f"当前剩余{sticks}根") print() print('下一回合'.center(20,'-')) #输入一个分割线必胜的方法

有没有必胜的方法,答案是肯定的。因为每人每次只能拿1根或是2根,所以只要每次能拿到第3根,也就是3的倍数,第3、6、9、12、15、18、21根,那么肯定就能获胜,你明白了吗?

电脑高级版

这一版为电脑高级版,电脑会根据你出的数字,计算出自己拿几根,也就是,玩家必输!

只需将 computer = random.randint(1,2) 一行,改为下面的代码即可!

% 为求余数的意思,

if sticks%3==0: computer = random.randint(1,2) else: computer=sticks%3

你学到了吗?

这个游戏其实还可以好多玩法?先拿的输还是后拿的输?如果你先拿会赢吗?如果根子总数换了,如果每次可以拿的数量变多了,你还会赢吗?

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved