鳕鱼天空

This is Mr Wang's Tech Blog.

python产生随机值-random模块

import random
产生随机值的模块

random.random()            #获取一个随机的浮点值;
help(random.random)        #查看随机范围:0-1;
random.uniform(1,10)       #仍然取的是浮点数,只是相比random增加了一个区间;

random.randint(1,7)        #随机1-7

random.randrange(1,10)     #顾头不顾尾

random.choice("")          #可以传入一个序列

random.sample("序列",长度)  #在序列里随机取两位处理;序列可以使字符串,列表;


洗牌功能:

首先由一个有序的列表
a = [1,2,3,4,5,6]
a = random.shuffle(a)
print (a)

得出结果:a列表有序变成无序了。
注意:pycharm出不来效果,用python交互模式即可看效果。

实际应用一:随机数字验证码
import random
auth = ""               #定义全局验证码变量
for i in range(0,4):    #定义循环4次,形成4个验证码
    current_code = random.randint(0,9)      #定义随机数字的范围
    auth += str(current_code)               #将随机数字赋值给 全局变量auth
print auth


实际应用二:随机数字和字母验证码
auth = ""                                           #定义全局验证码变量
for i in range(0,4):                                #定义循环4次,形成4位验证码。
    current = random.randint(0,4)                   #定义一个随机0-4的一个范围,去猜i 的值。
    if current == i:                                #如果current 和i 的值一样
        current_code = random.randint(0,9)          #生成一个随机的数字
    else:                                           #如果current和i 的值不一样
        current_code = chr(random.randint(65,90))   #生成一个随机的字母,这里一定要主义chr()转换一下。
    auth += str(current_code)                       #将每次随机生成的值赋值给auth

print auth                                          #打印随机验证码