1:基本随机数函数
函数 | 描述 |
seed(a=None) | 初始化随机数种子,默认为当前系统时间 >>>random.seed() #产生种子10对应的序列 |
random() | 生成一个[0 , 1]的浮点数 random.random() 若之前设置过种子函数,则以种子为准 |
import random
random.seed(10)
a = random.random()
b = random.random()
print(a)
print(b)
>>>0.5714025946899135
0.4288890546751146
2:扩展随机数函数
函数 | 描述 |
randint(a,b) | 生成一个[a,b]间的整数 |
randrange(m,n[,k]) | 生成一个[m,n)之间以k为步长的随机整数 |
getrandbits(k) | 生成一个k比特长的随机整数 |
uniform(a,b) | 生成一个[a,b]之间的随机小数(精度为16位) |
choice(seq) | 从序列seq中随机选择一个元素 |
shuffle(seq) | 将序列seq中元素随机排列,返回打乱后的序列 |
例:计算圆周率:
from random import random
from time import perf_counter # 能够对程序运行进行计时
DARTS = 1000*1000
hits = 0.0
start = perf_counter()
for i in range(1,DARTS+1):
x, y = random(), random()
dist = pow(x**2 + y**2, 0.5)
if dist <= 1.0:
hits = hits + 1
pi = 4 * (hits/DARTS)
print("圆周率是:{}".format(pi))
print("运行时间是:{:.5f}s".format(perf_counter()-start))
>>>圆周率是:3.142488
运行时间是:1.64149s