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=" ")