【4.0】常用模块之random模块

发布时间 2023-11-25 21:13:03作者: Chimengmeng

【一】导入模块

import random

【二】随机小数

【1】默认区间的小数(random)

  • 大于0且小于1之间的小数
import random

# 默认是 大于0且小于1之间的小数
res = random.random()
print(res)
# 0.24512653841495302

【2】指定区间的小数(uniform)

import random

# 指定为 0 到 5 之间的随机小数
res = random.uniform(1, 5)
print(res)
# 1.876142749383125

【三】随机整数

【1】随机区间整数(randint)

  • 大于等于1且小于等于5之间的整数
import random

# 大于等于1且小于等于5之间的整数
res = random.randint(1, 5)
print(res)
# 4

【2】随机区间奇偶数(randrange)

  • 大于等于1且小于10之间的奇数
import random

# 随机区间奇数 (开始,结束,步长)
res_one = random.randrange(1, 10, 2)
print(res_one)
# 7

【四】随机选择返回

【1】随机返回一个(choice)

  • 随机选择一个返回
import random

choice = ["Dream", 'dream', 'Meng', 18]

res = random.choice(choice)

print(res)
# Dream

【2】随机指定个数(sample)

  • 指定待选择项和返回的个数
import random

choice = ["Dream", 'dream', 'Meng', 18]

# 待选择项,返回的个数
res = random.sample(choice,3)

print(res)
# [18, 'dream', 'Meng']

【五】打乱列表顺序(shuffle)

import random

item = [1, 3, 5, 7, 9]
random.shuffle(item)
print(item)
# [5, 1, 3, 7, 9]

random.shuffle(item)
print(item)
# [5, 9, 7, 1, 3]

【六】练习

【1】生成随机验证码

import random


def v_code():
    code = ''
    for i in range(5):
        num = random.randint(0, 9)
        alf = chr(random.randint(65, 90))
        add = random.choice([num, alf])
        code = "".join([code, str(add)])

    return code


print(v_code())
# 713OI

【2】六位随机数字+大小写验证码

(1)代码

import random

'''生成六位随机 (数字 + 大小写) 验证码'''


def get_verify_code(n):
    code = ''
    for i in range(n):
        random_int = str(random.randint(0, 9))  # 0-9之间的整数
        random_upper = chr(random.randint(65, 90))  # A-Z之间的字母
        random_lower = chr(random.randint(97, 122))  # a-z之间的字母
        temp = random.choice([random_int, random_upper, random_lower])
        code += temp
    return code


if __name__ == "__main__":
    res = get_verify_code(6)
    print(res)

(2)引用方法

from verify_code import get_verify_code

# n 为获取到的随机验证码的位数
code_verify = get_verify_code(n)
# 打印生成的 随机验证码
print(code_verify)