文章目录
一、random库
random库概述:
random库是使用随机数的Python标准库
伪随机数:采用梅森旋转算法生成的随机序列中元素
import random
二、函数
(1)索引
基本随机数函数:seed(),random()
扩展随机数函数:randint(),randrange(),uniform(),choice(),shuffle(),getrandbits(),
函数 | 功能 | 参数 |
---|---|---|
random.seed([x]) | 改变随机数生成器的种子 | x:种子,整型或浮点型都行。默认为当前系统时间 |
random.random() | 返回[0,1)内一个随机浮点数 | null |
random.randint(m,n) | 返回[m,n]中的一个随机整数 | m,n必须是整数 |
random.randrange(m,n[,k]) | 返回[m,n)中以k为步长的一个随机整数 | m,n,k必须是整数 k默认为1 |
random.getrandbits(k) | 返回一个可以用k位二进制的整数 | k为整数 |
random.uniform(m,n) | 返回[m,n)中的一个随机浮点数 | m,n可以是整型或是浮点型 |
random.choice(seq) | 返回一个列表、元组或字符串的随机项。 | 字符串、列表或元组 |
random.sample(seq,k) | 返回k个列表、元组或字符串的随机项。 | 字符串、列表或元组 |
random.shuffle(list) | 将序列的所有元素随机排序。无返回值 | 列表 |
(2)random.seed([x])
你不必特别去设定seed,Python会帮你选择seed。默认种子x为当前系统时间,所以每次的结果才不同
import randomprint(random.random())#0.9159448117309811print(random.random())#0.47405353654712656
可以在调用其他随机模块函数之前调用此函数:生成同样的结果
import random
random.seed(3)print(random.random())#0.18674172875460915
random.seed(3)print(random.random())#0.18674172875460915print(random.random())#0.048822131669426394
(3)random.randrange(m,n[,k])
# 随机选取0到100间的偶数:print(random.randrange(0,101,2))#16
(4)random.getrandbits(k)
import randomprint(random.getrandbits(2))#2位二进制:00(0),01(1),10(2),11(3)#3
(5)random.choice(seq)
print(random.choice("string"))#rprint(random.choice([1,2,3,4]))#1print(random.choice((1,2,3,4)))#2
应用:
#随机选取字符串:print(random.choice(['剪刀','石头','布']))#布
(6)random.sample(seq,k)
print(random.sample('12345',3))#['3', '1', '4']print(random.sample([1,2,3,4],3))#[3, 4, 2]print(random.sample((1,2,3,4),3))#[4, 3, 1]
(7)random.shuffle(list)
应用
import random# 打乱排序
items=[1,2,3,4,5,6,7,8,9,0]
random.shuffle(items)print(items)#[7, 5, 6, 9, 4, 1, 3, 2, 0, 8]
参考:https://www.runoob.com/python/func-number-random.html