random随机模块
Python的random
模块提供了一系列的随机数生成函数。
import random
random:
获取0-1之间的随机小数(左闭右开)
print(random.random()) # 输出:一个0-1之间的随机小数
randrange:
随机获取指定范围内的整数(包含开始值,不包含结束值,间隔值)
print(random.randrange(3)) # 输出:0、1或2
print(random.randrange(3, 6)) # 输出:3、4或5
print(random.randrange(1, 9, 4)) # 输出:1或5
print(random.randrange(7, 3, -1)) # 输出:7、6、5或4
randint:
随机产生指定范围内的随机整数
print(random.randint(1, 3)) # 输出:1、2或3
uniform:
获取指定范围内的随机小数(左闭右开)
print(random.uniform(0, 2)) # 输出:一个0-2之间的随机小数
print(random.uniform(2, 0)) # 输出:一个0-2之间的随机小数
"""
源码解析
a = 2 , b = 0
return 2 + (0-2) * (0<=x<1)
x = 0 return 2 取到
x = 1 return 0 取不到
0 < x <= 2
return a + (b-a) * self.random()
"""
choice:
随机获取序列中的值(多选一)
lst = ["孙凯喜", "王永飞", "于朝志", "须臾间", "含税小"]
print(random.choice(lst)) # 输出:列表中的一个随机元素
#源码解析
def mychoice(lst):
index_num = random.randrange(len(lst))
return lst[index_num]
print(mychoice(lst))
# 使用lambda表达式改造choice函数
mychoice = lambda lst : lst[random.randrange(len(lst))]
print(mychoice(lst))
sample
随机获取序列中的值[返回列表]
tup = ("孙凯喜", "王永飞", "于朝志", "须臾间", "含税小")
print(random.sample(tup, 3)) # 输出:元组中的三个随机元素组成的列表
shuffle:
随机打乱序列中的值(需要可以修改的)
lst = ["孙凯喜", "王永飞", "于朝志", "须臾间", "含税小"]
random.shuffle(lst)
print(lst) # 输出:随机打乱的列表
生成四位随机验证码(包含大写字母、小写字母和数字)
def yanzhengma():
strvar = ""
for i in range(4):
b_c = chr(random.randrange(65, 91)) # 大写字母
s_c = chr(random.randrange(97, 123)) # 小写字母
num = str(random.randrange(10)) # 数字
lst = [b_c, s_c, num]
strvar += random.choice(lst)
return strvar
print(yanzhengma()) # 输出:四位随机验证码
标签:输出,randrange,random,lst,随机,print
From: https://www.cnblogs.com/wbcde116/p/18050921