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

 

posted @ 2018-09-14 12:33  Nope!!!!  阅读(103)  评论(0编辑  收藏  举报