random.seed(a)
設(shè)置種子, 若不穿參數(shù), 就使用系統(tǒng)時間
種子相同, 每次生成的隨機序列也相同
計算機生成的隨機數(shù)都是偽隨機數(shù), 通過算法的出
li = []
# 設(shè)置種子
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 = []
# 設(shè)置種子
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]
# 結(jié)果隨機數(shù)都是一樣
random
隨機獲得0~1的小數(shù)
print(random.random())
randrange(start, end, setp)
隨機獲取指定范圍內(nèi)的整數(shù)
print(random.randrange(1, 10, 2))
randint(start, end)
隨機獲得指定范圍內(nèi)的整數(shù), 能取到end
print(random.randint(1, 10))
uniform(start, end)
隨機獲得指定范圍內(nèi)的小數(shù)
# 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))
# 獲取數(shù)字0~9
num = str(random.randrange(10))
strvar += random.choice([schr, bchr, num])