28. 7.1 Python中的随机数

28.1. 随机选择

  • 有时候你想让事情变得无序一点,让程序看似有自己的想法,这时候你需要生成一些随机的东西,MicroPython提供了一个对象用来生成随机数,他就是random可以轻松为你的代码引入随机和混乱。
  • random对象可以从提供的列表字符串元组等符合数据类型中,随机选择一个元素作为参数返回,例如:

from microbit import *
import random

str_list = ["A","B","C","D","E","F","G"]

display.show(random.choice(str_list))
  • 上边的例子代码完成了一个随机选择功能,random.choice这个方法为从参数中选择一个元素作为参数返回,例子中从number列表里选择了A-G中间一个字母返回,并且显示在点阵显示屏上,每次上电运行时,字母都可能不一样。

28.2. 随机数字

  • 随机数字非常有用,在游戏中非常常见,还有需要程序自己完成的选择代码也很常见。
  • MicroPython附带了几个很有用的生成随机数的方法,例如:

from microbit import *
import random

display.show(str(random.randint(1,6)))
  • 上边的代码完成了一个随机数字的功能,每次上电运行时显示的数字都可能不一样。
  • 如果你需要生成一个带有指定步幅的列表,可以使用random.randrange(start,stop,step)start表示开始的范围,包括开始,stop表示结束的范围,不包括结束。step表示步幅。例如:

random.randrange(1,10,2)		#生成1到10之间的基数。
  • 有时候你需要生成带有小数点的数字,这些数字被成为浮点数,可以使用random.random()的方法生成带有小数的数字,它生成的范围是0.0到1.0之间。

28.3. 随机数相关API

| API | 描述 | | :————: | :———–: | |random.seed()|使用已知整数初始化随机数生成器n。这将从给定的起始状态(n)给出可重现的确定的随机性。| |random.randint(a,b)|返回一个随机整数N,范围a <= N <= b| |random.randrange(stop)|返回0到stop(但不包括)之间随机选择的整数。| |random.randrange(start, stop)|从startstop中返回一个随机选择的整数。| |random.randrange(start, stop, step)|从中返回随机选择的元素。| |random.choice(seq)|从非空序列中返回一个随机元素seq。如果seq是空的,报错IndexError| |random.random()|返回[0.0,1.0]范围内的下一个随机浮点数| |random.uniform(a, b)|返回随机浮点数N,使得对a <= N <= b。|