在前面我們曾多次提到random模組,在這節將詳細的介紹一下random模組的用法。 random模組主要為我們提供一些產生隨機數的功能,以下表格總結了random模組中幾個常用函數。
產生一個0-1的隨機浮點數,看下面的範例:
importrandoma=random.random()b=random.random()c=random.random()print(a)print(b)print(c)
輸出結果為:
0.7879655602680620.205244861798563160.8732074424182436
我們可以看出傳回的浮點數的值和位數都不一定相同。
我需要注意randint和randrange的差別,randint是包含a和b,後面會提到的randrange是不含a和b的。
我們可以透過測試來看是否包含上下限,程式碼如下:
importrandoma=random.randint(1,3)b=random.randint(1,3)c=random.randint(1,3)print(a)print(b)print(c)
輸出結果為:
312
我們可以看出是包含a和b的值的。
我們主要透過測試來看看這個方法是否包含a和b的值,看看下面程式碼:
importrandoma=random.randrange(1,3)b=random.randrange(1,3)c=random.randrange(1,3)d=random.randrange(1,3)print(a)print(b)print( c)print(d)
輸出結果為:
2212
透過測試結果我們可以看出只有1和2,是不包含下界3的,大家也可以自己試試看。
random.shuffle(x)函數我們在第二節中使用過,它可以將一個序列進行重新排序,但是需要注意,它只針對於可改變的序列,因此它常被用於打亂列表中的元素。
importrandoma=['d','o','t','c','p','p']print('打亂前的列表:',a)random.shuffle(a)print('打亂後的列表:',a)
輸出結果為:
打亂前的列表:['d','o','t','c','p','p']打亂後的列表:['c','d','p', 'p','t','o']
random.choice(x)可以傳回一個序列中的一個隨機元素,它的使用方式如下:
importrandoma=['d','o','t','c','p','p']b='dotcpp'c=('d','o','t','c' ,'p','p')print(random.choice(a))print(random.choice(b))print(random.choice(c))
輸出結果為:
odp
用於產生指定範圍內的隨機浮點數,程式碼如下:
importrandoma=random.uniform(1.1,3.3)b=random.uniform(5,6)c=random.uniform(100,200)print(a)print(b)print(c)
輸出結果為:
2.58026565795090875.977193880181603141.03779834775494
關於random模組的功能就講到這裡,上面六種用法囊括了產生隨機數的常用方法,如果想要使用更多的random模組中的方法,可以在Python幫助文件中進行查閱學習。