python random模块

详情参考:http://egon09.blog.51cto.com/9161406/1840425

import random

random.random()  #括号里不能添加任何东西

>>>返回0~1的一个随机数

  

random.randint(a,b)  #a<=n<=b

>>>返回a~b中的一个随机整数n,包括a和b

  

random.randrange(a,b,步长)  #都要为整数

>>>返回【a,a+步长,......b】序列中的一个随机整数

  

import random

print(random.randrange(0, 101, 2))

返回0~100间的一个随机偶数
PS:
range(i, j) produces i, i+1, i+2, ..., j-1
即:range包括头不包括尾(简称:包头不包尾)

 

random.choice()  #可以填入列表,字符串,元组等(有系列数据的)

>>>返回序列中的一个随机元素

random.sample(序列,长度)

>>>从指定序列中随机获取指定长度的片断
  

  


 

实例:生成四位随机验证码(字符型)

首先,生成四位都是数字的验证码是很简单的,randint(1000,9999)即可,但是考虑到非数字的情况,该怎么办呢?

先把每一个字符单独分离开,每一个字符随机为字母或数字,最后合在一起。

如何实现每一个字符随机为字母或数字呢?

用chr(65-90)变int为字母(ASCII码)实现随机字母

给出最终代码

import random

# print(random.randint(1000,9999))

Y_code = ''
for i in range(4):#最外层的for循环仅仅为了实现验证码的个数(0,1,2,3一共四次)
    j = random.randint(0, 1)#根据j是否为0来判断是否是字母还是数字
    if j == 0:
        current = str(random.randint(0, 9))#把数字str化才能合并
    else:
        current = chr(random.randint(65, 90))
    Y_code = Y_code + current

print(Y_code)

 

 

 

 

 

 

posted @ 2017-08-04 10:04  细雨轻风  阅读(170)  评论(0编辑  收藏  举报