random – 生成随机数

该模块实现了一个伪随机数生成器(PRNG)。

This module implements a subset of the corresponding CPython module, as described below. For more information, refer to the original CPython documentation: random

备注

以下符号用于表示区间:

  • () 表示开区间,不包括端点。例如,(0, 1) 表示大于 0 且小于 1。在集合表示中:(0, 1) = {x | 0 < x < 1}。

  • [] 表示闭区间,包括所有的极限点。例如,[0, 1] 表示大于等于 0 且小于等于 1。在集合表示中:[0, 1] = {x | 0 <= x <= 1}。

备注

只有在启用 MICROPY_PY_RANDOM_EXTRA_FUNCS 配置选项时,才能使用 randrange()randint()choice() 函数。

整数函数

random.getrandbits(n)

返回一个具有 n 个随机位的整数(0 <= n <= 32)。

random.randint(a, b)

返回范围在 [a, b] 内的随机整数。

random.randrange(stop)
random.randrange(start, stop)
random.randrange(start, stop[, step])

第一种形式从范围 [0, stop) 中返回一个随机整数。第二种形式从范围 [start, stop) 中返回一个随机整数。第三种形式从范围 [start, stop) 中以 step 为步长返回一个随机整数。例如,调用 randrange(1, 10, 2) 将返回介于 1 和 9(包括)之间的奇数。

浮点数函数

random.random()

返回范围在 [0.0, 1.0) 内的一个随机浮点数。

random.uniform(a, b)

返回一个随机浮点数 N,使得对于 a <= ba <= N <= b,对于 b < ab <= N <= a

其他函数

random.seed(n=None, /)

使用种子 *n*(应为整数)初始化随机数生成器模块。当不传入参数(或传入 None)时,如果支持的话,它将使用真随机数(通常是硬件生成的随机数)初始化 PRNG。

如果由移植版本启用了 MICROPY_PY_RANDOM_SEED_INIT_FUNC,则 None 情况才能工作,否则会引发 ValueError

random.choice(sequence)

*sequence*(元组、列表或支持下标操作的任何对象)中随机选择并返回一个项目。