P8 改进我们的小游戏(下) 在“P7”中我们已经完成了前两步的改写,现在进行第三步:3、每次运行程序,答案应该是随机的 1、如何搜索找到库? 在IDIE右上角找到【Help】,点击【Python Docs F1】,点击弹出页面左上【索引】,搜索“random”,点击下方【random(module)】,双击,就是对random模块的帮助文档了。 2、如何用random?(生成伪随机数) ①导入: >>> import random ②在random模块,有randint函数, 导入形式为random . randint(a , b), 意义为随机获取一个a~b内的一个整数: >>> random.randint(1,10) 9 >>> random.randint(1,10) 4 >>> random.randint(1,10) 8 于是改进到图1所示。 3、如何重现random伪随机数? 想要实现对伪随机数而攻击,就要拿到它的“种子”。 一般情况下,random会使用系统时间来作为随机数种子。 我们就可以使用“getstate函数”来获取随机数种子加工之后随机数生成器的内部状态。 如图2,我们用x命名getstate,然后生成随机数,如图3。 那我们如何攻击伪随机数呢? 调用“setstate函数”重新设置随机数生成器的内部状态,再生成一次随机数,发现这和刚才生成的随机数一样!!如图4