12.5. randome模块

#!/usr/bin/env python
#-*- coding:utf8 -*-
import random
print(random.random())  # 0~1随机浮点数
print(random.randint(1,7))  #随机整数1~7
print(random.randrange(1,7))    #随机整数,不包括7

print(random.choice('hello world')) #获取一个最近元素
print(random.choice(['1','2','3',]))

print(random.sample([1,2,3,4,5], 4)) #random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片

eg

#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2019/6/16 13:26
# filename: randome2.py
import random

# 生成范围为0.0<=x<1,0的伪随机浮点数
print(random.random())

# 生成范围为2.5<=x<10.0的伪随机浮点数
print(random.uniform(2.5, 10.0))

# 生成0到9的伪随机数
print(random.randrange(10))

# 生成呈指数分布的伪随机数
print(random.expovariate(1 / 5))

# 生成0到100的随机偶数
print(random.randrange(0, 101, 2))

# 随机抽取一个元素
print(random.choice(["python", "java", "C++", "kotlin"]))

# 对列表元素进行随机排序
list_1 = ["python", "java", "C++", "kotlin"]
random.shuffle(list_1)
print(list_1)

# 随机抽取4个独立的元素
print(random.sample([10, 20, 30, 40, 50], k=4))

12.5.1. 随机验证码

#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2020/3/13 10:23
# filename: sample01.py
import random
import string


def Random_Numbers(n):
    """
    :n:生成随机数的数量
    :return: 生成一串随机的六个包含字母和数字的字符
    """
    str = ""
    words = "".join((string.ascii_letters, string.digits))
    for i in range(n):
        str += random.choice(words)
    return str


def Random_Number2(n):
    """
    :param n:  生成随机数的数量
    :return: 生成一串随机的六个包含字母和数字的字符
    """
    code = ""
    for i in range(n):
        num = random.randint(0, 9)  # 随机选择0~9
        A1Z1 = chr(random.randint(65, 90))  # 随机选择A~Z
        a1z1 = chr(random.randint(97, 122))  # 随机选择a~z
        add = random.choice([num, A1Z1, a1z1])  # 随机选择其中一个
        code = "".join([code, str(add)])  # 拼接一次选到的元素
    return code


print(Random_Number2(20))
print(Random_Numbers(20))

eg2

#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2019/5/20 16:36
# filename: random模块.py
import random

# 0.0 <= x <=1.0随机数
print("0.0 <= x <=1.0随机数")
for i in range(0, 10):
    x = random.random()
    print(x)

# 0 <= x < 5 随机数
print("0 <= x < 5 随机数")
for i in range(0, 10):
    x = random.randrange(5)
    print(x, end=" ")
print()

# 5 <=x <=10 随机数
print("5 <=x <=10 随机数")
for i in range(0, 10):
    x = random.randrange(5, 10)
    print(x, end=" ")
print()

# 5 <=x <=10 随机数
print("5 <=x <=10 随机数")
for i in range(0, 10):
    x = random.randint(5, 10)
    print(x, end=" ")