游戏要求:
实现1-3要求python代码如下:
"""猜数字游戏"""
count = 0
while count < 3:
temp = input("猜猜数字")
guess = int(temp)
if guess == 8:
print("猜中啦")
break
else:
if guess < 8:
print("小啦")
else:
print("大啦")
count = count + 1
print("游戏结束")
以上代码为循环次数为三次,更改为不限次一直猜,更改如下:
"""猜数字游戏"""
while 1:
temp = input("猜猜数字")
guess = int(temp)
if guess == 8:
print("猜中啦")
break
else:
if guess < 8:
print("小啦")
else:
print("大啦")
print("游戏结束")
目前的游戏中答案是8,是固定的,我们把答案设置成随机数,代码如下图:
"""猜随机数"""
import random //导入随机函数
answer = random.randint(1,10) //在1-10取随机数
while 1:
temp = input("输入一个随机数:")
guess = int(temp)
if guess == answer:
print("猜中啦")
break
else:
if guess < answer:
print("小啦")
else:
print("大啦")
print("游戏结束")
random模块生成伪随机数,其可以被重现,真正的随机数只能由量子纠缠原理的量子计算机实现,实现伪随机数的攻击,要拿到它的种子,默认情况下random使用操作系统下的系统时间来作为随机数种子,这里使用random.getstate()获取随机数生成器的内部状态,如下两图,这也就是彩票内部的可以重现。
import random
random.randint(1,10)
x = random.getstate()
print(x) //获得时间戳,随机数内部规则
random.randint(1,10)
random.randint(1,10)
random.randint(1,10)
random.setstate(x) //重现上述的随机数
random.randint(1,10)
random.randint(1,10)
random.randint(1,10)