Random(随机)

有时候你想预留一些自由发展的可能性,希望设备能够自由操作。
MicroPython提供了一个random模块,该模块基于Python标准库中的random模块,它包含生成随机数的函数。

如果要使用这个模块,你需要:

import random

函数:

random.getrandbits(n)

以长整型形式返回n个随机位。

警告:

** 因为底层生成器函数最多返回30位,n可能只有1-30之间的值。**

random.seed(n)

用一个已知的整数初始化随机数产生器。

这将从给定的起始状态开始,有一定规律的给出随机值。

random.randint(a,b)

返回一个在a和b之间的随机整数N,包括b。

random.randrange(n)

返回0到n之间的随机选择的整数,不包括n。

random.randrange(a,b)

返回一个在a和b之间的随机整数N,不包括b。

random.randrange(a,b,step)

返回在a和b之间的随机整数N,step为递增基数。

random.choice(seq)

从非空序列返回一个随机元素seq。如果seq是空的则会报出误差指示。

random.random()

返回范围[0.0,1.0]中的一个随机小数(浮点数)。

random.uniform(a,b)

返回一个a和b之间的随机浮点数N。

你可以轻松地实现随机选择,例如:

from microbit import *
import random

names = ["Mary", "Yolanda", "Damien", "Alia", "Kushal", "Mei Xiu", "Zoltan" ]

display.scroll(random.choice(names))

定义的列表中有7个名字。最后一行是一个嵌套。这个random.choice()方法返回names列表中随机选择的一个对象。

然后将这个对象作为display.scroll()方法的参数,滚动显示出来。

随机数字

随机数是非常有用的,比如我们可以做一个虚拟的骰子。

from microbit import *
import random

display.show(str(random.randint(1, 6)))

每一次下载这个程序的时候,都会显示一个在1到6之间的随机数。

我们正开始熟悉嵌套,因此random.randint()返回一个整数我们值得注意的重点。因为display.show()的参数需要一个字符类型的,因此,我们需要将这个整数转化为字符,所以在show与random之间需要一个str()

如果你需要选择随机数的范围为0到N,你可以选择random.randrange(),你只需要给它一个数N,它会在0到N之间随机选择一个数,但是不包括N。

如果你想选择一个小数(也称为浮点数),可以用random.random()方法。他只能选择0到1之间的浮点数。

如果你需要其他的小数可以这样:

from microbit import *
import random

answer = random.randrange(100) + random.random()
display.scroll(str(answer))