溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中調(diào)用random()函數(shù)的方法

發(fā)布時間:2020-10-24 13:56:00 來源:億速云 閱讀:508 作者:小新 欄目:編程語言

小編給大家分享一下Python中調(diào)用random()函數(shù)的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

先給大家?guī)硪涣袑嵗吧?4-7之間的隨機數(shù),并且和為1,并將符合條的2個值打印出來”,通過調(diào)用random()函數(shù),代碼如下:

import random
 
for i in range(30):
    num1=random.randint(-4,8)
    num2 = random.randint(-4, 8)
    if num1+num2==1:
        print(num1,num2)

運行結(jié)果:

-1 2
2 -1

Python中調(diào)用random()函數(shù)的方法

以上是調(diào)用:整數(shù)用函數(shù)

random.randrange(stop)

random.randrange(start, stop[, step])

從 range(start, stop, step) 返回一個隨機選擇的元素。 這相當于 choice(range(start, stop, step)) ,但實際上并沒有構(gòu)建一個 range 對象。

位置參數(shù)模式匹配 range() 。不應使用關(guān)鍵字參數(shù),因為該函數(shù)可能以意外的方式使用它們。

拓展random()函數(shù)調(diào)用用法以及實例演示

如常用數(shù)學實踐中所使用的那樣, 函數(shù)參數(shù)以分布方程中的相應變量命名;大多數(shù)這些方程都可以在任何統(tǒng)計學教材中找到。

1、random.random()

返回 [0.0, 1.0) 范圍內(nèi)的下一個隨機浮點數(shù)。

2、random.uniform(a, b)

返回一個隨機浮點數(shù) N ,當 a <= b 時 a <= N <= b ,當 b < a 時 b <= N <= a 。

取決于等式 a + (b-a) * random() 中的浮點舍入,終點 b 可以包括或不包括在該范圍內(nèi)。

3、random.triangular(low, high, mode)

返回一個隨機浮點數(shù) N ,使得 low <= N <= high 并在這些邊界之間使用指定的 mode 。 low 和 high 邊界默認為零和一。 mode 參數(shù)默認為邊界之間的中點,給出對稱分布。

4、random.betavariate(alpha, beta)

Beta 分布。 參數(shù)的條件是 alpha > 0 和 beta > 0。 返回值的范圍介于 0 和 1 之間。

5、random.expovariate(lambd)

指數(shù)分布。 lambd 是 1.0 除以所需的平均值,它應該是非零的。 (該參數(shù)本應命名為 “l(fā)ambda” ,但這是 Python 中的保留字。)如果 lambd 為正,則返回值的范圍為 0 到正無窮大;如果 lambd 為負,則返回值從負無窮大到 0。

6、random.gammavariate(alpha, beta)

Gamma 分布。 ( 不是 gamma 函數(shù)! ) 參數(shù)的條件是 alpha > 0 和 beta > 0。

概率分布函數(shù)是:

 x ** (alpha - 1) * math.exp(-x / beta)
pdf(x) = --------------------------------------
 math.gamma(alpha) * beta ** alpha

7、random.gauss(mu, sigma)

高斯分布。 mu 是平均值,sigma 是標準差。 這比下面定義的 normalvariate() 函數(shù)略快。

8、random.lognormvariate(mu, sigma)

對數(shù)正態(tài)分布。 如果你采用這個分布的自然對數(shù),你將得到一個正態(tài)分布,平均值為 mu 和標準差為 sigma。 mu 可以是任何值,sigma 必須大于零。

9、random.normalvariate(mu, sigma)

正態(tài)分布。 mu 是平均值,sigma 是標準差。

10、random.vonmisesvariate(mu, kappa)

mu 是平均角度,以弧度表示,介于0和 2*pi 之間,kappa 是濃度參數(shù),必須大于或等于零。 如果 kappa 等于零,則該分布在0到 2*pi 的范圍內(nèi)減小到均勻的隨機角度。

11、random.paretovariate(alpha)

帕累托分布。 alpha 是形狀參數(shù)。

12、random.weibullvariate(alpha, beta)

威布爾分布。 alpha 是比例參數(shù),beta 是形狀參數(shù)。

13、class random.Random([seed])

該類實現(xiàn)了 random 模塊所用的默認偽隨機數(shù)生成器。

14、class random.SystemRandom([seed])

使用 os.urandom() 函數(shù)的類,用從操作系統(tǒng)提供的源生成隨機數(shù)。 這并非適用于所有系統(tǒng)。 也不依賴于軟件狀態(tài),序列不可重現(xiàn)。 因此,seed() 方法沒有效果而被忽略。 getstate() 和 setstate() 方法如果被調(diào)用則引發(fā) NotImplementedError。

大多數(shù)隨機模塊的算法和種子函數(shù)都會在 Python 版本中發(fā)生變化,但保證兩個方面不會改變:

1)如果添加了新的播種方法,則將提供向后兼容的播種機。

2)當兼容的播種機被賦予相同的種子時,生成器的 random() 方法將繼續(xù)產(chǎn)生相同的序列。

基本示例:

>>> random() # Random float: 0.0 <= x < 1.0
0.37444887175646646
>>> uniform(2.5, 10.0) # Random float: 2.5 <= x < 10.0
3.1800146073117523
>>> expovariate(1 / 5) # Interval between arrivals averaging 5 seconds
5.148957571865031
>>> randrange(10) # Integer from 0 to 9 inclusive
7
>>> randrange(0, 101, 2) # Even integer from 0 to 100 inclusive
26
>>> choice(['win', 'lose', 'draw']) # Single random element from a sequence
'draw'
>>> deck = 'ace two three four'.split()
>>> shuffle(deck) # Shuffle a list
>>> deck
['four', 'two', 'ace', 'three']
>>> sample([10, 20, 30, 40, 50], k=4) # Four samples without replacement
[40, 10, 50, 30]

看完了這篇文章,相信你對Python中調(diào)用random()函數(shù)的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI