MicroPython的random模块
random.
getrandbits
(n)
返回有 n
随机位的整数。
random.
seed
(n)
用已知整数 n
初始化随机数生成器。 这会从给定的开始状态(n
)给出重复确定性的随机性。
我们调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用 random.seed(x) 设定好种子之后,其中的 x 可以是任意数字,如10,这个时候,先调用它的情况下,使用 random() 生成的随机数将会是同一个。
random.
randint
(a, b)
返回一个随机整数 N
,使得 a <= N <= b
。 别名 randrange(a,b + 1)
。
random.
randrange
(stop)
返回一个随机选择的零和达到(但不包括) stop
状态之间的整数。
random.
randrange
(start, stop)
从 range(start,stop)
返回一个随机选择的整数。
random.
randrange
(start, stop, step)
从 range(start,stop,step)
返回一个随机选择的元素。
random.
choice
(seq)
从非空序列 seq
中返回一个随机元素。 如果 seq
是空,引发 IndexError
。
random.
random
()
返回范围[0.0,1.0)中的下一个随机浮点数。
random.
uniform
(a, b)
返回一个随机浮点数 N
使得 a <= N <= b
a <= b
和 b <= N <= a
b <a
。
在pyb上测试
MicroPython v1.11 on 2019-12-30; MPY_CPU_401RE with STM32F401xE
Type "help()" for more information.
>>> import random
>>> dir(random)
['__class__', '__name__', 'choice', 'getrandbits', 'randint', 'random', 'randrange', 'seed', 'uniform']
>>> names = ["Mary", "Yolanda", "Damien", "Alia", "Kushal", "Mei Xiu", "Zoltan" ]
>>> random.choice(names)
'Alia'
>>> random.choice(names)
'Mei Xiu'
>>> random.getrandbits(8)
174
>>> random.randint(1,6)
2
>>> random.random()
0.6723639
>>> random.randrange(100)
95
>>> random.randrange(50,100,10)
80
>>> random.seed(1)
>>> random.random()
0.2386861
>>> random.seed(2)
>>> random.random()
0.2387042
>>> random.seed(3)
>>> random.random()
0.2383828
>>> random.seed(1)
>>> random.random()
0.2386861
>>> random.seed(2)
>>> random.random()
0.2387042
>>> random.seed(3)
>>> random.random()
0.2383828
>>> random.uniform(1,11)
4.052836
>>>