random.seed(a)
设置种子, 若不穿参数, 就使用系统时间
种子相同, 每次生成的随机序列也相同
计算机生成的随机数都是伪随机数, 通过算法的出
li = []
# 设置种子
random.seed(a=5)
for i in range(10):
li.append(random.randint(1, 10))
print(li)
# [10, 5, 6, 9, 1, 8, 4, 1, 3, 2]
li = []
# 设置种子
random.seed(a=5)
for i in range(10):
li.append(random.randint(1, 10))
print(li)
# [10, 5, 6, 9, 1, 8, 4, 1, 3, 2]
# 结果随机数都是一样
random
随机获得0~1的小数
print(random.random())
randrange(start, end, setp)
随机获取指定范围内的整数
print(random.randrange(1, 10, 2))
randint(start, end)
随机获得指定范围内的整数, 能取到end
print(random.randint(1, 10))
uniform(start, end)
随机获得指定范围内的小数
# return a + (b-a) * self.random()
# 1 <= x < 2
print(random.uniform(1, 2))
# -2 < x <= 5
print(random.uniform(5, -2))
choice
随机获得容器中的一个值
print(random.choice([1, 2, 4]))
sample
随机获得容器中的多个值, 返回列表
print(random.sample([1, 2, 4, 6, 8, 0], 3))
shuffle
随机打乱列表中的元素, 改变原列表
li = [1, 2, 4, 6]
random.shuffle(li)
print(li)
验证码
def yanzhengma():
strvar = ''
for i in range(5):
# 获取小写字母, 通过ascii
schr = chr(random.randrange(65, 91))
# 获取大写字母
bchr = chr(random.randrange(97, 123))
# 获取数字0~9
num = str(random.randrange(10))
strvar += random.choice([schr, bchr, num])