02.random
1.1 random()模块常用函数
函数 | 描述 |
random() | 返回0<n<=1 |
getrandbits(n) | 以长整形形式返回n个随机位 |
uniform(a, b) | 返回随机实数n,其中a<=n<=b |
randrange([start], stop, [step]) | 返回range(start,stop,step)中的随机数 |
choice(seq) | 从序列seq中返回随意元素 |
shuffle(seq[, random]) | 原地指定序列seq(将有序列表变成无序的:洗牌) |
sample(sea, n) | 从序列seq中选择n个随机且独立的元素 |
1.2 random常用函数举例
import random #⒈ 随机整数: print(random.randint(0,99)) # 随机选取0-99之间的整数 print(random.randrange(0, 101, 2)) # 随机选取0-101之间的偶数 #⒉ 随机浮点数: print(random.random()) # 0.972654134347 print(random.uniform(1, 10)) # 4.14709813772 #⒊ 随机字符: print(random.choice('abcdefg')) # c print(random.sample('abcdefghij',3)) # ['j', 'f', 'c']
1.3 使用random实现四位验证码
1.3.1 使用for循环实现
import random checkcode = '' for i in range(4): current = random.randrange(0,4) if current == i: tmp = chr(random.randint(65,90)) #65,90表示所有大写字母 else: tmp = random.randint(0,9) checkcode += str(tmp) print(checkcode) #运行结果: 851K
1.3.2 使用random.sample实现
import random import string str_source = string.ascii_letters + string.digits str_list = random.sample(str_source,7) #['i', 'Q', 'U', 'u', 'A', '0', '9'] str_final = ''.join(str_list) print(str_final) # 运行结果: jkFU2Ed
string模块
>>> string.digits '0123456789' >>> string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz'