random
常用方法
import random
print(random.random()) (0,1)----float 大于0且小于1之间的小数
print(random.randint(1,3)) 获取一个范围内的随机数,包含首和末尾
print(random.randrange(1,3)) 获取一个范围内的随机数,不包含末尾
print(random.randrange(0,10,2)) 获取一个范围内的偶数
print(random.random()) 获得一个随机浮点数
print(random.choice('qweqeqr123')) 获得字符串里的随机字符
print(random.sample('qweqeqr123',2)) 获得字符串里的指定个数的随机字符,并以列表的形式返回
print(random.sample([1,'23',[4,5]],2)) 列表元素任意2个组合
print(random.uniform(1,3)) 大于1小于3的小数,如1.927109612082716
import string
print(string.digits) # 0123456789
print(string.ascii_letters) # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_lowercase) # abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase) # ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.hexdigits) # 0123456789abcdefABCDEF
print(string.punctuation) # !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
生成随机验证码:
import string,random
s = string.digits + string.ascii_lowercase # 整数和小写字母
# print(random.sample(s,5)) # ['r', 'y', 'e', 'u', '6']
print(''.join(random.sample(s,6))) # 93owzj
# 随机验证码
def make_code(n):
s = string.digits + string.ascii_lowercase
return "".join(random.sample(s,n))
print(make_code(10))
另一种方法
给定验证码长度n,生成随机验证码,验证码由数字、字母组成(参考chr()内置方法)
第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母
97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
def make_code(n):
res=''
for i in range(n):
# s1=chr(random.randint(65,90))
# s2=chr(random.randint(48,57))
s1 = chr(random.randrange(65, 90,1))
s2 = chr(random.randrange(97, 126, 1))
# s2 = chr(random.randrange(48, 57,1))
# s2 = str(random.randrange(0, 9, 1))
s3 = str(random.randint(0, 9))
res +=random.choice([s1,s2,s3])
return res
print(make_code(9)
洗牌
d = list(range(21))
print(d) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
random.shuffle(d) # 洗牌
print(d) # [7, 18, 1, 16, 3, 6, 2, 13, 19, 17, 9, 4, 10, 5, 20, 8, 0, 12, 14, 15, 11]
网友评论