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))