day5-random模块

一、简述

  我们经常会使用一些随机数,或者需要写一些随机数的代码,今天我们就来整理随机数模块:random模块

二、random模块

1、random.random()

功能:随机返回一个小数

>>> import random
>>> random.random()
0.14090974546903268  #随机返回一个小数

2、random.randint(a,b)

功能:随机返回a到b之间任意一个数,包括b

>>> import random
>>> random.randint(1,5) 
5   #可以返回5
>>> random.randint(1,5)
2

3、random.randrange(start, stop=None, step=1)

功能:随机返回start到stop,但是不包括stop值

>>> import random
>>> random.randrange(5)  #不能随机返回5
4
>>> random.randrange(5)
1

4、random.sample(population, k)

功能:从population中随机获取k个值,以列表的形式返回

>>> import random
>>> random.sample(range(10),3)  #从0-9返回3个随机数
[3, 1, 0]
>>> random.sample('abcdefghi',3)  #从'abcdefghi'中返回3个字符
['a', 'h', 'b']

三、string模块

1、string.ascii_letters

功能:返回大小写字母的字符串

>>> import string 
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'  #返回大小写字母字符串

2、string.ascii_lowercase

功能:返回小写字母的字符串

>>> import string 
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'  #返回小写字母的字符串

3、string.ascii_uppercase

功能:返回大写字母的字符串

>>> import string 
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'  #返回大写字母的字符串

4string.digits

功能:返回0-9数字的字符串

>>> import string 
>>> string.digits
'0123456789'    #返回0-9数字的字符串

5、string.punctuation

功能:返回所有特殊字符,并以字符串形式返回

>>> import string
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'  #返回所有特殊字符,并以字符串的形式返回

四、生成随机数

1、用random和string模块生成随机数

>>> import random,string
>>> str_source = string.ascii_lowercase + string.digits  #大写字母字符和0-9数字字符串拼接
>>> random.sample(str_source,6)    #取6个随机字符
['f', '1', 'a', 'm', 'j', 'h']
>>> ''.join(random.sample(str_source,6))  #生成一个随机数字符串
'f84bsj'

2、程序实现

import random
checkcode = ''
for i in range(4):
    current = random.randrange(0,4)
    if current != i:   #如果当前的loop  i不等于随机数,就取出65-90中的随机字符
        temp = chr(random.randint(65,90))
    else:
        temp = random.randint(0,9)
    checkcode += str(temp)
print(checkcode)

 

posted @ 2017-03-31 13:09  帅丶高高  阅读(267)  评论(0编辑  收藏  举报