6.6 不要编号的抽奖——随机抽取序列元素

随机数还有一个神奇的功能,那就是能够从序列中随机抽取一个元素。如同在抽取幸运观众的时候,我们不但可以抽取代表观众的数字,而且可以直接抽取观众的名字,如图6.5所示。

图6.5 随机抽取序列元素示意图

序列就是一串排好队并编好号码的盒子,盒子里面可以盛放很多东西,我们的随机函数可以闭着眼睛随机抽出一个盒子,不管盒子里面装的是什么。常见的序列包括字符串、元组、列表。

例如,敌军来犯,国王需要“选将出征”,却不知道让谁去比较好。这时候他可以把大将们的姓名装进这些“盒子”——列表里,再通过随机数语句random.choice()从中随机抽取一个即可。这个案例的代码可以写成这样:

import random
nameList = [‘左将军’, ’右将军’, ’司马’, ’太尉’, ’中郎将’, ’兵部尚书’]
sel = random.choice(nameList)
print(‘这次出征的是:', sel)

又例如,巫师说了一句咒语,我们若想从这句咒语中随机抽取一个字,用随机数语句random.choice()同样可以做到。首先我们将咒语存放在一个字符串中,再随机抽取字符串的字符就可以了,代码可以是这样的:

import random
words = 'qwed7fgth5’
sel = random.choice(words)
print(sel)

关于随机数语句的知识就讲完了,“呆头”小镇的居民们一下子沸腾起来。他们觉得完全可以通过随机数让自己的生活变得更加多姿多彩,让小镇变得更加五彩斑斓。于是,他们开始改造小镇了。