一、random隨機數模塊
1、取0-1之間隨機的浮點數
>>> import random //導入random模塊
>>> random.random() //random方法爲取0-1之間的隨機浮點數
0.36983506915898345
那麼可不可以在指定範圍內取隨機浮點數呢?
>>> random.uniform(1,3) //使用uniform方法
1.0276983956141716
2、取指定範圍內的隨機整數
>>> random.randint(1,3) //小括號中需要指定範圍,注意:這裏的1-3都能隨機取到(1,2,3)
1
>>> random.randrange(1,3) //randrange是含頭不含尾,所以隨機取的值就是(1,2)
2
那能不能從列表或者字符串中隨機取呢?
>>> random.choice("hello") //使用choice方法來達到效果
'l'
>>> random.choice([1,2,3])
2
3、從序列中隨機取兩位
>>> random.sample("hello",2) //括號中要傳遞兩個參數
['e', 'h']
>>> random.sample("hello",2)
['o', 'l']
4、把列表中元素的順序打亂
>>> l1 = [1,2,3,4,5]
>>> random.shuffle(l1) //使用shuffle方法可以把列表元素的順序打亂
>>> l1
[4, 2, 1, 5, 3]
小練習:使用random模塊生成驗證碼
小知識:ASCII中65-90是A-Z的字母
import random
member = ""
for i in range(4):
current = random.randrange(0,4)
if current == i:
tmp = chr(random.randint(65,90))
else:
tmp = random.randint(0,9)
member += str(tmp)
print(member)
腳本拆解:
定義一個空變量用來接收隨機驗證碼,使用for循環循環數字,在循環內生成一個與之範圍相同的驗證碼,用隨機數和循環數字做匹配,如果配對成功輸出大寫字母,如果沒匹配上,輸出0-9之間的任意整數,最後把混合值賦值給初始的空變量。