random模块

2020-08-25  本文已影响0人  阿登20

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]
上一篇下一篇

猜你喜欢

热点阅读