# ### random 随机模块
import random
#random() 获取随机0-1之间的小数(左闭右开)
res = random.random() # 0<= x < 1
print(res)
#randrange() 随机获取指定范围内的整数(包含开始值,不包含结束值,间隔值)
res = random.randrange(2) # 0,1
print(res)
res = random.randrange(1,6) # 1,2,3,4,5
print(res)
res = random.randrange(1,7,3) # 1 4
print(res)
#randint() 随机产生指定范围内的随机整数
# randint 目前是唯一一个高位值可以去得到的函数 (不推荐使用)
res = random.randint(1,2)
print(res)
# res = random.randint(2,6,2) # 没有间隔值参数 功能不如randrange
# print(res)
#uniform() 获取指定范围内的随机小数(左闭右开)
res = random.uniform(2,4) # 2<=x < 4
print(res)
res = random.uniform(4,-2)
print(res)
'''
a = 4 , b = -2
return a + (b-a) * self.random()
4+(-2-4) * (0~1)
4+-6*(0~1) => 当取0时 4
4+-6*(0~1) => 当取1时 -2 (1是取不到的)
所以:
-2 < x <=4
'''
#choice() 随机获取序列中的值(多选一)
listvar = ["周杰伦","王文","周润发","周星驰"]
res = random.choice(listvar)
print(res)
# 自定义choice
def mychoice():
num = random.randrange(0,len(listvar))
res = listvar[num]
return res
print(mychoice())
#sample() 随机获取序列中的值(多选多) [返回列表]
listvar = ["周杰伦","王文","周润发","周星驰"]
res = random.sample(listvar,2)
print(res)
#shuffle() 随机打乱序列中的值(直接打乱原序列)
listvar = ["周杰伦","王文","周润发","周星驰"]
random.shuffle(listvar)
print(listvar)
# 随机4位验证码
def yanzhengma():
strvar = ""
for i in range(4):
# 产生大写字母A~Z
bchr = chr(random.randrange(65,91))
# 产生小写字母a~z
schr = chr(random.randrange(97,123))
# 数字0~9
num = str(random.randrange(0,10))
# 把所有随机值得种类塞到列表里
listvar = [bchr,schr,num]
# 随机选取一个
res = random.choice(listvar)
# 拼接字符串
strvar += res
# 返回字符串
return strvar
res = yanzhengma()
print(res)