读故事学编程:Python王国历险记
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

6.1 改变“呆头”小镇的关键——随机数

随机数就是我们无法提前知道、无法预测的数字。在人类的实际生活中,很多地方都离不开随机数,如抽奖、选幸运观众、上网用到的验证码、开电子密码锁等,我们无法提前知道结果,这些活动本质上就是在利用随机数。

在Python王国里,随机函数主要分为3种:获得整数的随机函数、获得小数的随机函数和随机抽取序列元素的随机函数。

在Python编程中,若要使用随机数,需要首先使用我们前面学过的咒语——import语句。也就是告诉计算机我们要用随机数了,要它做好准备,就像下面这样:

import random

6.2 就像抽奖——随机整数

随机整数是我们在编程中最常用到的随机数。在通过import语句引入random模块之后,只需要按照下面的格式编写代码就可以获得一个大于或等于m、小于或等于n的随机整数。这就如同抽奖:将从m到n的所有整数都分别写在一张纸条上,然后把这些纸条放在一个大罐子里,抽奖的人闭着眼睛从罐子里随便抽出一张纸条,纸条上的数字就是获得的随机整数,如图6.1所示。

例如,我们要从100个人中抽取一名幸运的获奖者,就需要每个人对应1~100范围内的一个号码,这样就可以通过下面的程序进行抽奖了:

import random
num = random.randint(1, 100)
print(num)

图6.1 随机整数与抽奖类比图

在上面的代码中,我们将随机数赋值给一个变量num,又通过print语句将获得的随机数结果显示出来。通过运行结果我们就会发现,每次返回的结果都是不一样的,并且是我们无法提前知道的。其实随机数让生活中的很多事情变得更加公平。

我们平时上网用到的验证码其实也是一种随机函数。例如,我们要生成一个4位的随机验证码,就可以通过下面的代码实现:

import random
num1 = random.randint(0, 9)
num2 = random.randint(0, 9)
num3 = random.randint(0, 9)
num4 = random.randint(0, 9)
print(num1, num2, num3, num4, sep='')

在上面的代码中,我们用了4个随机函数,并将结果分别赋值给4个变量,最后用print语句输出结果。其实上面的代码如果用循环控制会变得更加简单,关于循环控制,我们会在后面进行详细讲解。