基础知识:
random模块,用于生成伪随机数,之所以称之为伪随机数,是因为真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,对于正常随机而言,会出现某个事情出现多次的情况。
random.seed()用法:
seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数
import random
# 使用默认种子的随机数
random.seed()
print ("使用默认种子的随机数1:", random.random())
print ("使用默认种子的随机数2:", random.random())
random.seed(9)
print ("使用默认种子的随机数3:", random.random())
random.seed(9)
print ("使用默认种子的随机数4:", random.random())
输出结果:
使用默认种子的随机数1: 0.2430029136875851
使用默认种子的随机数2: 0.9137012278061308
使用默认种子的随机数3: 0.46300735781502145
使用默认种子的随机数4: 0.46300735781502145
random.random()用法:
描述:random.random() 用于生成一个0到1的随机符点数: 0 <= n < 1.0
import random
random_sj = random.random() #产生0-1的随机浮点数
print(random_sj)
输出结果:
0.09615688410549572
random.uniform(a, b)用法:
描述:random.random(a,b) 用于生成一个a到b的随机符点数: a <= n < b
import random
random_float = random.uniform(0, 3)
print(random_float) # 输出:一个0到3之间的随机浮点数
输出结果:
2.364228003090516
random.randint()用法:
描述:用于生成一个指定范围内的整数。
语法:random.randint(a, b),其中参数a代表下限,参数b代表上限,生成的随机数n: a <= n <= b
例1:
import random
random_id = random.randint(1, 8)
print("输出结果:", random_id)
输出结果: 3
例2:
import random
random_integer = random.randint(1,15)
print(random_integer) # 输出:一个1到15之间的随机整数
输出结果:8
random.choice()用法:
描述:从非空序列seq中随机选取一个元素。如果seq为空则弹出 IndexError异常。
语法:random.choice( seq)seq 可以是一个列表,元组或字符串。
import random
mylist = ["apple", "banana", "mango"]
random.choice=random.choice(mylist)
print(random.choice)
输出结果:
mango
random.choices(sequence) 用法
从集群中随机选取k次数据,返回一个列表,可以设置权重。
注意每次选取都不会影响原序列,每一次选取都是基于原序列。也就是有放回抽样
random.choices(mylist,weights=None,*,cum_weights=None,k=1)
import random
mylist = ["apple", "banana", "mango"]
print(random.choices(mylist, weights=[5, 2, 1], k=5))
输出结果:
['apple', 'mango', 'mango', 'apple', 'banana']
random.randrange(start, stop , step)用法:
描述:返回一个从start到stop(不包括stop)之间,以step为步长的随机整数
例1:生成一个在 [0, 7) 范围内的随机整数
import random
num = random.randrange(0, 7)
print("输出结果:", num)
输出结果: 6
例2:生成一个在 [0, 24) 范围内 起始值start=0,步长step=4,生成的随机数只能是偶数。
import random
num = random.randrange(0, 24, 4)
print("输出结果:", num)
输出结果: 8