游戏需要改进的地方
- 当用户猜错的时候,程序应该给出提示
- 应该提供多次机会给用户
-
条件分支-解决第一个需求
如果答案是8
- 如果用户输入不是8,则读取
else
语句- 用户输入9,提示大了
- 用户输入5,提示小了
- 如果用户输入8,则读取
if
后续语句改进的代码
运行结果
循环结构-解决第二个需求
如果counts
>0,则执行循环体内的内容,但是每次执行后,counts
都减去1,那么循环三次后,循环条件就不成立了,则不再执行,终结循环。改进的代码
给用户5次机会,并提示还有几次机会
新的改进方案1
无限次机会,当猜对时,退出游戏
新改进的方案2
猜错时,由用户自己选择结束还是继续游戏,猜对时,退出游戏。
问题点:当我选把用户输入的0/1值input给A时,用A判断继续还是结束,总会判断是失败的,运行再试试代码,必须用中间值+int函数,才能将0赋值给A。
群友提供的新解决办法:
Random模块-解决第三个需求
一般可以考虑先查找Python官方自带的文档。
要使用 一个Python模块,首先是需要将其导入,语法是import
+模块名,比如import random
即是导入random模块。randint(1,10)
随机获得1-10之间的整数,包含1和10。
改进的代码
拓展
random
模块生成的都是伪随机数,是可以重现的没比较容易被攻击。
要实现对伪随机数的攻击,就要拿到它的种子。
默认条件下,random
使用当前操作系统的系统时间作为随机数种子。这里我们可以使用random.getstate()
这个函数来获取随机数种子加工之后随机数生成器的内部状态。