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)
随机获得指定范围内的小数
1 # return a + (b-a) * self.random() 2 3 # 1 <= x < 2 4 print(random.uniform(1, 2)) 5 # -2 < x <= 5 6 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])