random 随机模块

# ### 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)

  

猜你喜欢

转载自www.cnblogs.com/huangjiangyong/p/10920490.html