中国电子学会的青少年软件编程等级考试Python(五级),关于常用标准库的能力要求是:掌握常用标准库的功能与用法,具备灵活运用已有方法快速扩展程序功能的能力:
1、掌握 math、random、turtle、time 等常用工具库的功能和使用方法。
2、理解 PiInstaller、jieba、wordcloud 等第三方库的获取与使用方法
3,能够使用上述基本数据类型和常用模块(库)编写指定功能的程序。
英文基础
先看相关英文单词。
random,adj. 随机的,随意的(非事先决定或不规则)。
例句:
这个菜单将从数据文件夹载入一个随机的背景图像。
choice,n. 选择;挑选
例句:
我们面临着一个艰难的选择。
shuffle,v. 洗牌; 打乱次序;n. 洗牌
例句:
有各种不同的洗牌和发牌方式
sample,n. 样品;样本;v.采样;取样
例句:
所有样本都是随机选取的。
uniform,n.制服;校服;统一服装;adj. 一致的;统一的;一律的;v.使均一;使穿制服;Web. 均匀;均匀的
短语:
均匀分布
seeds,n. 种子;起因;萌芽;种子选手
例句:
这些种子几天后就会发芽。
random 模块常用函数
Python的random模块实现了多种分布的伪随机数生成器。
使用方法,与其它模块的使用类似,在使用模块之前需要导入:
整数用函数:
☞ random.randrange(stop)
☞ random.randrange(start,stop[,step])
从range(start, stop, step) 返回一个随机数。
可以把内置函数range()作为理解random模块函数randrange()的基础。
例1
例2
☞ random.randint(a, b)
返回闭区间[a,b]内的随机整数N,N 满足a <= N <= b。相当于randrange(a, b+1)。
记忆方法:rand + int
例3
☞ random.choice(seq)
从序列非空序列seq中随机选择一个元素并返回。如果seq 为空,则引发IndexError。
例4
例5
☞ random.shuffle(x)
就地将序列x 随机打乱位置。
例6
注意:上面第2行不用赋值。
如果使用赋值语句:
例7
下面的这一条random.sample(population, k)在Python五级中没有明确要求,但对于产生一个随机序列比较方法,再次一并介绍。
☞ random.sample(population, k)
从总体population中随机抽取K个不重复的元素,返回新的列表,列表按选择顺序排列。原总体population不被改变。
总体成员不必是hashable 或unique 。如果总体包含重复,则每次出现都是样本中可能的选择。
上面的总体population如何用range()函数产生,便是从一个整数区间随机抽取一定数量的整数,如:random.sample(range(100), k=10),从0到99的整数中,随机抽取10个数。
例8
例9
例10
例11
☞ random.random()
返回左闭右开区间[0.0,1.0)内的一个浮点数x,0.0 <= X < 1.0。
例8
☞ random.uniform(a,b)
返回一个由a和b指定范围内的随机浮点数。这里的b可以小于a。终点可以包括或不包括在该范围内。
例9
初始化
此知识点在Python五级中没有明确要求。但这个概念很基本,这里作为了解内容介绍。
☞ random.seed(a=None, version=2 )
初始化随机数生成器。
如果a 被省略或为None ,则使用当前系统时间。如果操作系统提供随机源,则使用它们而不是系统时间。
如果a 是int 类型,则直接使用。
总 结
掌握:
☞ random.randrange(start,stop[,step])
☞ random.randint(a, b)
☞ random.choice(seq)
☞ random.shuffle(x)
☞ random.random()
了解:
☞ random.sample(population, k)
☞ random.seed(a=None, version=2 )