Python隨機函式random使用詳解

Alin2477305449發表於2023-03-31

在python中用於生成隨機數的模組是random,在使用前需要import, 下面看下它的用法。

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
6
#!/usr/bin/python
import  random
# 生成第一個隨機數
print  ( "random 1 : " , random.random())
# 生成第二個隨機數
print  ( "random 2 : " , random.random())

以上例項執行後輸出結果為:

1
2
random 1 :  0.3558774735558118
random 2 :  0.46006891154492147

 

random.uniform

random.uniform的函式原型為:random.uniform(a, b),用於生成一個指定範圍內的隨機符點數,兩個引數其中一個是上限,一個是下限。如果a > b,則生成的隨機數n: b <= n <= a。如果 a <b, 則 a <= n <= b。

1
2
3
import  random
print  (random.uniform( 1 10 ))  
print  (random.uniform( 10 1 ))

結果:

1
2
2.1520386126536115
3.139127274753873

 

random.randint

random.randint()的函式原型為:random.randint(a, b),用於生成一個指定範圍內的整數。其中引數a是下限,引數b是上限,生成的隨機數n: a <= n <= b, 

注意: 下限必須小於上限

1
2
3
import  random
print  (random.randint( 11 20 ))   #生成的隨機數n: 12 <= n <= 20  
print  (random.randint( 20 20 ))   #結果永遠是20

結果:

1
2
11
20


random.randrange

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
import  random
print  (random.randrange( 10 18 2 ))

結果:

1
[10, 12, 14, 16, 18]


random.choice

random.choice從序列中獲取一個隨機元素。其函式原型為:random.choice(sequence)。引數sequence表示一個有序型別。這裡要說明 一下:sequence在python不是一種特定的型別,而是泛指一系列的型別。list, tuple, 字串都屬於sequence。有關sequence可以檢視python手冊資料模型這一章

1
2
3
4
import  random
print  (random.choice( "Pythontab.com" ))
print  (random.choice([ "python" "tab" "com" ]))
print  (random.choice(( "python" "tab" "com" )))


結果:

1
2
3
t
python
tab


random.shuffle

  random.shuffle的函式原型為:random.shuffle(x[, random]),用於將一個列表中的元素打亂。如:

1
2
3
4
import  random
list  =  [ 1 2 3 4 5 6 7 8 9 10 ]
random.shuffle( list )
print  ( list )


結果:

1
[4, 1, 9, 3, 2, 7, 10, 6, 8, 5]

 

random.sample

  random.sample的函式原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。sample函式不會修改原有序列。

1
2
3
4
5
import  random
list  =  [ 1 2 3 4 5 6 7 8 9 10 ]  
slice  =  random.sample( list 5 )   #從list中隨機獲取5個元素,作為一個片斷返回  
print  ( slice
print  ( list #原有序列不會改變。

結果:

1
2
[8, 2, 6, 7, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952502/viewspace-2942909/,如需轉載,請註明出處,否則將追究法律責任。

相關文章