1. 程式人生 > >11.2 random模塊

11.2 random模塊

Python random模塊 sample shuffle

Random模塊

1.random.random()取(0,1)之間的隨機數

import random

print(random.random())
# 0.8897444362146398

2.random.randint()隨機取整數

print(random.randint(1,8))
# 8

3.random.coice()

print(random.choice("hello"))
# h
print(random.choice([‘qw‘,1,‘i‘]))
# 1

4.random.sample()隨機取樣函數

print(random.sample([‘123‘,‘ooo‘,1,‘h‘],2))
# [‘123‘, 1]  隨機取特定個
print(type(random.sample("123ooo1h",2)))
print(random.sample("123ooo1h",2))

5.random.randrange()取特定範圍和間距的值

print(random.randrange(12,15))
# 12  包含12,但不包含15
print(random.randrange(1,10,2))  #以2為間隔
# 7

6.random.shuffle() 洗牌打亂函數

#print(random.shuffle([1,2,3,4,5]))  錯錯錯

list = [20, 16, 10, 5];
print(random.shuffle(list))   #洗牌方法,特別註意:沒有返回值
# None
print(list)
# [16, 10, 5, 20]

# 新手在使用此函數時可能會出現一些錯誤,如下:
# import random
# a=[1,2,3,4,5,6]
# print(random.shuffle(a))
# 使用此方法會出現None結果,原因是random.shuffle() 是用來打亂列表元素的,沒有返回值,所以不能用print(random.shuffle(a))來輸出打印打亂後的序列。

7.random.uniform()生成隨機浮點數

print(random.uniform(2,8))
# 3.8047650948735487
print(random.uniform(10,1))  #random.uniform()生成隨機浮點數,c:a<=c<=b
# 3.4613509038118613

8.應用:隨機生成驗證碼

def auth_code():
    code1=""
    samp=‘‘.join(random.sample("abcdefghijklmnopqrstuvwxyz1234567890",5))
    code1=code1+str(samp)
    print(type(code1))
    print(code1)

auth_code()
#kvbsf

11.2 random模塊