今天以一个小实例带你入门Python,编写一个叫"拿石子"的小游戏,让你可以与电脑对弈。
拿石子游戏规则很简单,一开始有一定数量的石子(假如是10),然后两人轮流从石子堆中取走一定范围的数量(例如是1,2,3)。以此类推,最后拿走剩余的所有石子的人就输了。
先看看最终效果的动态:
我们就用Python简单实现一个,来吧。
定义主要的方法
- 如上图,这次主要需要一个随机函数
- 一个可以重复尝试调用某个方法的功能,我们使用retrying库
- 使用命令 pip install retrying 即可安装完成
再来看看主流程是如何调用这些方法
- 一开始就调用 get_start_num ,生成一个开局的数
- 然后来个死循环 while 1:
- 循环中,先调用 cpu_number,表示电脑先做选择
- 然后调用方法 judge,用于判断当前局面的情况,并返回一个当前石子数量
- 紧接着调用 user_number,获取我们的输入数,也做一样的局面判断方法
然后,我们回头去把那些方法给实现就好了。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架尉♥信(同音):276 3177 065 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
如下
- (1) 使用方法 random.randint ,得到一个随机数
- (2) 同样使用方法 random.randint,得到随机数,不过如果当前只剩下少于3的数量,那么就用这个数来作为end。
- (3) 这里就是用 retrying库的一个retry装饰器,表示我们这个方法只要做错误就会被重新执行
- (4) 由于这里是我们输入,所以这里判断输入的东西是否可以转成int,不合法的情况下只要主动抛出异常即可触发retry
- (5) 这里就判断输入的值是否在范围中
今天的重点
- 使用 random.randint 生成随机数
- 使用 retrying模块 ,可以简单方便让某个方法重复执行
最后
这个游戏的实现其实还有不完善的地方,比如电脑玩家目前的选择是随机的,如果你有兴趣可以自己改善他。
接下来我会改造这个部分,让电脑玩家可以自己跟自己不断进行对弈,然后学会如何取胜。
如果觉得本文对你有所帮助,记得关注、评论、转发、收藏噢~
关注并私信我"python",即可获得按水平领域分类好的Python资料,还会不定期更新有用的Python技巧。