Python中的random模塊用於生成隨機數
下面具體介紹random模塊的功能:
1、random.random() # 用於生成一個0到1的隨機浮點數:0<=n<1.0
import random
ret = random.random()
print(ret)
結果:
ret : 0.8947529143749732
2、random.uniform(a,b) # 用於生成一個指定范圍的隨機浮點數,兩個參數其中一個是上限,一個是下限,如果a>b,則生成的隨機數n:a<=n<=b。如果a<b,則b<=n<=a
import random
ret1 = random.uniform(1,10)
ret2 = random.uniform(10,1)
print(ret1)
print(ret2)
結果:
ret1 : 3.674080751273465
ret2 : 4.428659179457661
3、random.randint(a,b) # 用於生成一個指定范圍內的整數,其中參數a是下限,參數b是上限,生成的隨機數n:a<=n<=b
import random
ret = random.randint(1,10)
print(ret)
結果:
ret : 5
4、random.randrange([start],stop[,step]) # 從指定范圍內,按指定基數遞增的集合中獲取一個隨機數。random.randrange(10,30,2),結果相當於從[10,12,14,16,...26,28]序列中獲取一個隨機數,random.randrange(10,30,2)在結果上與random.choice(range(10,30,2))等效。
import random
ret = random.randrange(10,30,2)
print(ret)
結果:
ret : 24
5、random.choice(sequence) # random.choice從序列中獲取一個隨機元素,其函數原型為:random.choice(sequence),參數sequence表示一個有序類型,這里要說明一下:sequence在Python不是一中特定的類型,而是泛指一系列的類型。list,tuple,字符串都屬於sequence
import random
lst = ['python','C',[1,2,3],5,6,7]
str1 = ('I love python')
ret1 = random.choice(lst)
ret2 = random.choice(str1)
print(ret1)
print(ret2)
結果:
ret1 : C
ret2 : t
6、random.shuffle(x[,random]) # 用於將一個列表中的元素打亂,即將列表內的元素隨機排序
import random
lst = ['A','B','C','D','E']
random.shuffle(lst)
print(lst)
結果:
lst : ['B', 'E', 'D', 'A', 'C']
7、random.sample(sequence,k) # 從指定序列中隨機獲取指定長度的片斷並隨機排序。注意:sample函數不會修改原有的序列
import random
lst = [1,2,3,4,5,6]
ret = random.sample(lst)
print(lst)
print(ret)
結果:
lst :[1, 2, 3, 4, 5]
ret : [3, 5, 2]
