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' #返回大写字母的字符串
4、string.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)