在python中用于生成隨機數的模塊是random,在使用前需要import, 下面看下它的用法。
Python隨機生成一個浮點數 random.random
random.random()用于生成一個0到1的隨機符點數: 0 <= n < 1.0
注意: 以下代碼在Python3.5下測試通過, python2版本可稍加修改
描述
random() 方法返回隨機生成的一個實數,它在(0,1)范圍內。
語法
以下是 random() 方法的語法:
import random
random.random()
注意:random()是不能直接訪問的,需要導入 random 模塊,然后通過 random 靜態對象調用該方法。
參數
無
返回值
返回隨機生成的一個實數,它在[0,1)范圍內。
實例
以下展示了使用 random() 方法的實例:
1
2
3
4
5
|
>>> import random >>> print ( "random 1 : " , random.random()) random 1 : 0.8325656436327418 >>> print ( "random 2 : " , random.random()) random 2 : 0.9205070325517919 |
以上實例運行后輸出結果為:
random 1 : 0.8325656436327418
random 2 : 0.9205070325517919
Python隨機生成一個指定精度的浮點數 random.uniform
random.uniform的函數原型為:random.uniform(a, b),用于生成一個指定范圍內的隨機符點數,兩個參數其中一個是上限,一個是下限。如果a > b,則生成的隨機數n: b <= n <= a。如果 a <b, 則 a <= n <= b。
1
2
3
4
5
|
>>> import random >>> print (random.uniform( 1 , 10 )) 2.444412473072692 >>> print (random.uniform( 10 , 1 )) 4.617930290730046 |
結果:
2.444412473072692
4.617930290730046
Python隨機生成一個實數 random.randint
random.randint()的函數原型為:random.randint(a, b),用于生成一個指定范圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b,
注意: 下限必須小于上限
1
2
3
4
5
|
>>> import random >>> print (random.randint( 11 , 20 )) #生成的隨機數n: 12 <= n <= 20 13 >>> print (random.randint( 20 , 20 )) #結果永遠是20 20 |
結果:
13
20
Python獲取指定范圍內隨機數 random.randrange
randrange() 方法返回指定遞增基數集合中的一個隨機數,基數默認值為1。
random.randrange的函數原型為:random.randrange([start], stop[, step]),從指定范圍內,按指定基數遞增的集合中 獲取一個隨機數。
如:random.randrange(10, 100, 2),結果相當于從[10, 12, 14, 16, ... 96, 98]序列中獲取一個隨機數。
random.randrange(10, 100, 2)在結果上與 random.choice(range(10, 100, 2) 等效。
1
2
3
|
>>> import random >>> print (random.randrange( 10 , 18 , 2 )) 16 |
結果:
16
Python隨機獲取列表,元組或字符串中的子元素 random.choice
random.choice從序列中獲取一個隨機元素。
其函數原型為:random.choice(sequence)。參數sequence表示一個有序類型。
這里要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬于sequence。有關sequence可以查看python手冊數據模型這一章
1
2
3
4
5
6
7
|
>>> import random >>> print (random.choice( "jb51.net" )) t >>> print (random.choice([ "jb" , "51" , "net" ])) jb >>> print (random.choice(( "jb" , "51" , "net" ))) 51 |
結果:
t
jb
51
Python列表隨機排序 random.shuffle
random.shuffle的函數原型為:random.shuffle(x[, random]),用于將一個列表中的元素打亂。如:
1
2
3
4
5
|
>>> import random >>> list = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] >>> random.shuffle( list ) >>> print ( list ) [ 7 , 2 , 8 , 5 , 3 , 10 , 1 , 9 , 6 , 4 ] |
結果:
[7, 2, 8, 5, 3, 10, 1, 9, 6, 4]
Python隨機獲取列表中指定數量項目random.sample
random.sample的函數原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。
sample函數不會修改原有序列。
1
2
3
4
5
6
7
|
>>> import random >>> list = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] >>> slice = random.sample( list , 5 ) #從list中隨機獲取5個元素,作為一個片斷返回 >>> print ( slice ) [ 1 , 5 , 9 , 3 , 2 ] >>> print ( list ) #原有序列不會改變。 [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] |
結果:
[1, 5, 9, 3, 2]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
本文主要講解的Python隨機函數random使用方法包含了Python隨機數字,Python隨機字符串,Python隨機列表等,更多關于Python隨機函數random的使用請點擊下面的相關鏈接