random模块使用示例
import random
import random
import string
print(random.random()) # 返回一个随机浮点数
>>0.7434616843871897
print(random.uniform(1,2)) # 返回一个1-2之间的随机浮点数
>>1.5945262422214976
print(random.randrange(10)) # 返回0-10之间的随机整数
>>3
print(random.randrange(0,10,2)) # 返回0-10之间的随机偶数 , range传入的是一个范围
>>4
print(random.choice(["1","2","3","5"])) # 从序列中随机选取一个值
>>"5"
# 从序列中随机的抽取出3个元素,并组成新序列返回.不改变原有数列
print(random.sample(["1","2","3","4","5","6","7","8"],k=3))
>>['8', '5', '4']
print(random.randint(10)) # 返回0-10之间的随机整数, int 传入的是一个整数
>>5
list1 = ["1","2","3"]
random.shuffle(list1)
print(list1) # 对原数列进行洗牌,不改变数据,只改变排序
>>["2","1","3"]
# 随机生成一个包含大写字母A-Z和数字0-9的随机4位验证码程序
checkcode = ''
for i in range(4):
current = random.randrange(0,4)
if current != i:
temp = chr(random.randint(65,90))
else:
temp = random.randint(0,9)
checkcode += str(temp)
print(checkcode)
>>4A11
# 生成指定长度的随机字母数字序列(至少有一个字母|至少有一个数字)
def gen_random_string(length):
# 数字的个数随机产生
num_of_numeric = random.randint(1,length-1)
# 剩下的都是字母
num_of_letter = length - num_of_numeric
# 随机生成数字
numerics = [random.choice(string.digits) for i in range(num_of_numeric)]
# 随机生成字母
letters = [random.choice(string.ascii_letters) for i in range(num_of_letter)]
# 结合两者
all_chars = numerics + letters
# 洗牌
random.shuffle(all_chars)
# 生成最终字符串
result = ''.join([i for i in all_chars])
return result
print(gen_random_string(64))
>>nE1f9uWuVbj6WIIlsDkbYkcj7INqWSfYIKMQgcNlisVKy1kRpO5u3Qjrvrq5TGoS
网友评论