random模块,随机数字

随机小数

#生成大于0且小于1的小数
print(random.random())
#0.06149910818328341

#指定范围生成小数
print(random.uniform(1,3))
#1.3496573026758074

随机整数

#randint 包含指定范围的数字
print(random.randint(1,2))  #必须是两个参数,规定一个范围 [1,2]
#2
#randrange类似于range顾头不顾尾 print(random.randrange(100)) #一个参数
#87
print(random.randrange(1,2)) #两个个参数 [1,2)
#1
print(random.randrange(90,100,2)) #三个参数,最后一个是步长
#98

从一个序列中随机选择

选择一个用choice,多个用sample

#从一个序列中随机选择:一个 choice,多个 sample
print(random.choice('abc'))
#a

print(random.sample([1,'23',[4,5]],2))
#[[4, 5], 1]

打乱一个序列的顺序

item=[1,3,5,7,9]
random.shuffle(item)  #改变了原列表
print(item)
#[3, 9, 7, 1, 5]

 验证码

生成一个六位随机数字的验证码

l = []
for i in range(6):
    #循环六次,每次生成一个随机数字
    rand_num = random.randint(0,9)
    l.append(str(rand_num))
    #把数字转化为字符串添加进列表中
print(''.join(l))#把列表中的元素用“”空字符串分隔变成一个字符串
#不可以用sample从一个列表中取六个值,这样得到的六个值是不会重复的

生成一个六位的数字加字母的验证码

l = []
for i in range(6):
    alpha = chr(random.randint(65, 90))  # 生成数字转化为大写字母
    alpha_lower = chr(random.randint(97, 122))  #生成数字转化为小写字母
    num = str(random.randint(0, 9))
    ret = random.choice([alpha,num,alpha_lower])#在大写字母小写字母和数字中选取一个
    l.append(ret)
print(''.join(l))

 

  

posted @ 2017-11-15 14:34  瓜田月夜  阅读(328)  评论(0编辑  收藏  举报