random模块
程序中有很多地方需要用到随机字符,比如登录网站的随机验证码,通过random模块可以很容易生成随机字符串
>>> random.randrange(1,10) #返回1-10之间的一个随机数,不包括10
>>> random.randint(1,10) #返回1-10之间的一个随机数,包括10
>>> random.randrange(0, 100, 2) #随机选取0到100间的偶数
>>> random.random() #返回一个随机浮点数
>>> random.choice('abce3#$@1') #返回一个给定数据集合中的随机字符
'#'
>>> random.sample('abcdefghij',3) #从多个字符中选取特定数量的字符
['a', 'd', 'b']
#生成随机字符串
>>> import string
>>> ''.join(random.sample(string.ascii_lowercase + string.digits, 6))
'4fvda1'
#洗牌
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> random.shuffle(a)
>>> a
[3, 0, 7, 2, 1, 6, 5, 8, 9, 4]
随机验证码练习:
def rand_code(n=4,flag=True):
code = ''
for i in range(n):
rand_num = str(random.randint(0,9))
# print(rand_number,type(rand_number))
if flag:
rand_num1 = chr(random.randint(97,122))
# print(rand_number1,type(rand_number1))
rand_num2 = chr(random.randint(65,90))
# print(rand_number2,type(rand_number2))
rand_num = random.choice([rand_num,rand_num1,rand_num2])
code += rand_num
return code
print(rand_code(6))