2022.04.18-python学习之random模块
1 # File:learning_016_module_random.py 2 # Datetime:2022-04-18 11:36 3 # 随机数模块 4 import random 5 6 # 常用的一些random方法 7 # 1. random.random() 生成0~1之间的浮点数 8 print("生成0-1之间的随机浮点数", random.random()) 9 10 # 2. random.uniform(a,b) 生成指定区间范围内的浮点数 11 print("生成0~10之间的随机浮点数", random.uniform(0, 10)) 12 13 # 3. random.randint(a,b) 14 print("生成0-10之间的随机整数", random.randint(0, 10)) 15 16 # 4. random.choice() 从sequence(序列,列表、元组和字符串)中随机获取一个元素 17 print(random.choice("python")) 18 19 # 5. random.choices(sequence,k=n) 从sequence(序列,列表、元组和字符串)中随机获取k个(可能重复)元素,n用参数名传值,n省略则默认取1个,返回list。 20 print(random.choices("python", k=3)) 21 22 # 6. random.shuffle(list) 将一个列表中的元素打乱(洗牌),随机排序。直接随机改变原list的排序 23 lis = [1, 2, 3, 4, 5, 6, 7, 8, 9] 24 random.shuffle(lis) 25 print(lis) 26 27 # 7. random.sample(list,int) 从指定序列中随机获取指定长度的片段,原有序列不会改变。有两个参数,指定序列、需获取的片段长度。 28 print(random.sample(lis, 5)) 29 30 # 8. random.randrange(start,end,step)获取区间内的一个随机数 31 # randrange()函数的参数与range()相同, 32 # 其功能相当于choice(range(start, stop, step)), 33 # 但并不实际产生range对象,该函数返回值类型是int 34 print(random.randrange(1, 100, 2)) 35 36 # 9. random.seed() 只要设置相同的seed,每次生产的随机数相同,使得随机数据可预测。可在调用其他随机模块之前调用。 37 random.seed(1) 38 print(random.randint(1, 9)) 39 random.seed(1) 40 print(random.randint(1, 9)) # 生成的结果和上次结果相同 41 42 # 不常用的函数 43 # random.getrandbits()包含一个参数k,返回一个不大于k位的十进制整数。 44 # random.triangular()语法random.triangular(low,high,mode)返回low<N<=high的三角分布随机数,mode指定数出现的位置 45 # random.vonmisesvariate()# 卡帕分布vonmisesvariate(mu, kappa) 46 # random.weibullvariate()威布尔分布random.weibullvariate(alpha, beta) 47 # random.betvatiate() bate分布random.betavariate(alpha, beta) 48 # random.expovariate() 指数分布random.expovariate(lambd) 49 # random.gammavariate() 伽马分布random.gammavariate(alpha, beta) 50 # random.gauss() 高斯分布random.gauss(mu, sigma) 51 # random.lognormvariate() 对数正态分布random.lognormvariate(mu, sigma) 52 # random.normalvariate() 正态分布random.normalvariate(mu, sigma) 53 # random.paretovariate() 帕累托分布random.paretovariate(alpha)