1
Python编程从入门到实践
1.14.2.1 10.2.1 Python random随机数的使用
10.2.1 Python random随机数的使用

1.随机整数

【例10.12】用randint和randrange输出随机函数。

解析:用randint随机输出0~100之间的整数,用randrange随机输出0~50区间内的整数。

运行结果如图10-13所示。

图10-13 运行结果

2.随机字符或字符串

【例10.13】随机抽出列表中的元素。从序列中随机读取1个元素、4个元素。解析:随机参数包括数字、大小字母及字符串,可以从列表或序列中抽取元素。

多运行几次随机字符或字符串程序代码,观察输出结果。运行两次代码的结果如图10-14所示。每次运行后抽取的元素都不同。

图10-14 运行两次代码结果

3.洗牌

【例10.14】对文件中的数据进行随机排序。

解析:文件中的内容也可以写成很多行,代码字符串分割时改动一下即可。

第7行代码分割split(','),以str为分隔符(分割后丢失),将字符串分割为多个字符串,以‘,’分隔成一个列表。多运行几次程序试试看,每次随机排序后,结果不一样。运行三次代码的结果如图10-15所示。

图10-15 运行三次代码的结果

4.发红包

【例10.15】利用random实现简单的随机红包发放。

解析:要实现像微信红包那种肯定要复杂得多,会涉及算法。这里只是利用random库做一个简单发红包的例子。

在Python中,random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n:a≤n≤b。本程序第七行代码中,a=random.randint(1,15),下限是1,上限是15,产生1~15的一个整数型随机数红包钱数,直到100元红包全部发完。运行结果如图10-16所示。多运行几次试试,结果会不一样。

图10-16 运行结果

5.随机验证码

【例10.16】string和random组合使用,生成随机验证码。

随机验证码多运行几次,每次运行后的验证码都不同。运行两次代码的结果如图10-17所示。

图10-17 运行两次代码的结果

程序代码中的相关知识:

random库中的大多数函数在使用时都需要先设计一个序列。如果不想每次都去定义,而只是想随机取出一些数字、字母组合,就需要用到另一个标准库string:import string用string库主要用里面定义的一些字符串常量:

本例题第三行代码s=string.digits+string.ascii_letters,将数字集合和所有大小写字母都赋值给变量s,然后从指定s序列中生成4个元素随机验证码。