目录
基本随机数函数():
rand.seed()
random()
扩展随机数函数():
random库包含两类函数:基本随机数函数,扩展随机数函数
基本随机数函数:seed(),random()
扩展随机数函数:randint,getrandbits(),uniform(),randrange(),choice(),shuffle()
基本随机数函数():
rand.seed()
当调用random.seed()时,它会将传入的种子作为参数,将其转换为一个整数值。该整数值被用来设置随机数生成器的起始状态。随机数生成器根据起始状态生成随机数序列,这些随机数可以通过random.random()等函数获取。
注:种子是一个起始值,它被用作生成随机数序列的起点。随机数生成器根据种子计算下一个随机数,并将该数作为种子传递给下一个计算。
random.seed(10)#产生种子10对应的序列
#默认情况下会使用系统时间来初始化随机数生成器的种子。
import numpy as npnum = 0
np.random.seed(0)
while (num < 5):print(np.random.rand(1,5))num += 1print('-------------------------')
可以发现设置随机种子后,每次运行结果随机数都相同
如果将程序的随机种子注释:
import numpy as npnum = 0
#np.random.seed(0)
while (num < 5):print(np.random.rand(1,5))num += 1print('-------------------------')
那么可以发现每次执行结果随机数都不同:
random()
生成一个[0.0,1.0)之间的随即小数
>>>random.random()
0.5714025946899135
扩展随机数函数():
函数 | 描述 |
randint(a, b) | 生成一个[a, b]之间的整数 |
>>>random.randint(10, 100) | |
64 | |
randrange(m, n[, k]) | 生成一个[m, n)之间以k为步长的随机整数 |
>>>random.randrange(10, 100, 10) | |
80 | |
getrandbits(k) | 生成一个k比特长的随机整数 |
>>>random.getrandbits(16) | |
37885 | |
uniform(a, b) | 生成一个[a, b]之间的随机小数 |
>>>random.uniform(10, 100) | |
13.09632165 | |
choice(seq) | 从序列seq中随机选择一个元素 |
>>>random.choice([1,2,3,4,5,6,7,8,9]) | |
8 | |
shuffle(seq) | 将序列seq中元素随机排列,返回打乱后的序列 |
>>>s=[1,2,3,4,5,6,7,8,9];random.shuffle(s);print(s) | |
[3, 5, 8, 9, 6, 1, 2, 7, 4] |