零基础入门学习Python(第2版)
上QQ阅读APP看书,第一时间看更新

3.8 引入外援

第三个改进要求:为了防止答案外泄,需要每次运行程序时答案均是随机生成的。

这个怎么实现呢?需要引入一个“外援”帮忙才行:random模块。

等等,模块这个名字怎么那么熟悉?

啊哈!想起来了,每次写完程序的时候,都要按一下快捷键F5运行,那里就显示着RUN MODULE,MODULE就是模块的意思。没错,我们编写的程序本身就是一个模块。

Python的发明者为了我们可以更快乐地使用好这门语言,在发布Python的时候还附带了非常多实用的模块供调用。其中,random模块就是与生成随机数相关的模块,这个模块里边有一个函数为randint(),它会返回一个随机的整数:

     >>> import random
     >>> random.randint(1, 10)
     2
     >>> random.randint(1, 10)
     5
     >>> random.randint(1, 10)
     6

在使用一个外部模块之前,需要先导入。import random就是将random模块导入到当前文件中。然后调用random.randint(1, 10)函数,随机获取一个1~10的整数。

可以利用这个函数来进一步改进这个小游戏:

分析:该代码中,while语句使用and逻辑操作符将两个条件串联起来,只有当guess和secret变量的值不同,并且times的值小于3的时候,才会执行循环体的内容。而只要其中一个条件不成立,就会果断地退出循环。最后,只需要检查times是否小于3,即可判断用户是猜中了答案还是超过了允许的尝试次数。