首頁 > 軟體

python中的亂數 Random介紹

2022-04-21 19:00:22

一、random模組簡介

Python標準庫中的random函數,可以生成隨機浮點數、整數、字串,甚至幫助你隨機選擇列表序列中的一個元素,打亂一組資料等,即用來生成亂數。

二、random模組重要函數

(1)random.random()函數

random.random()函數,它會生成一個隨機的浮點數,範圍是在0.0~1.0之間

>>> import random
>>> print(random.random())
0.2203627723039484
>>> print(random.random())
0.124968990086466
>>> print(random.random())
0.4156471793210381

注意:不能這樣寫random.Random()

>>> print(random.Random())
<random.Random object at 0x00000236EE7E9A88>

(2)random.randint()函數

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

>>> random.randint(12,23)
12
>>> random.randint(12,23)
19
>>> random.randint(12,12) //隨機值不變
12
>>> random.randint(12,12)
12
>>> random.randint(-8,12)
3
>>> random.randint(-8,12)
-6
>>> random.randint(-8,12)
-2

(3)random.uniform()函數

random.uniform()函數的原型為:random.uniform(a, b),用於生成一個指定範圍內的隨機符點數,其中一個引數是上限,另一個是引數下限。

>>> random.uniform(2.1,2.8)
2.571350659171257
>>> random.uniform(21,48)
28.09088226941614
>>> random.uniform(48,21) //不推薦這樣寫,一般來說第一個引數的數值要小於第二個引數的數值
46.42492852213456
>>> random.uniform(-4,21)
7.81666451991304
>>> random.uniform(-4,21)
6.382703447293181
>>> random.uniform(-4.2,2.8)
-0.4436054791279309
>>> random.uniform(-4.2,2.8)
2.7511228545721043

(4)random.randrange()函數

random.randrange()函數的原型為:random.randrange([start], stop[, step]),從指定範圍內,按指定基數遞增的集合中 獲取一個亂數。start:開始數值,stop:結束數值,step1:步長,預設為1,可以不寫

>>> random.randrange(0,56,8)
24
>>> random.randrange(0,56,8)
40
>>> random.randrange(0,56,5)
55
>>> random.randrange(0,56,5)
15
>>> random.randrange(-8,6,2)
-2
>>> random.randrange(-8,6,2)
4
>>> random.randrange(-8,6) //步長預設為1,此時可以不用寫
5
>>> random.randrange(-8,6)

(5)random.choice()函數

random.choice()函數原型為:random.choice(sequence),可以從任何序列,比如list列表中,選取一個隨機的元素返回,可以用於字串、列表、元組等。引數sequence表示一個有序型別。sequence在python不是一種特定的型別,而是泛指一系列的型別。list, tuple, 字串都屬於sequence。

>>> random.choice("12045ouhuhjn") //字串
'u'
>>> random.choice("12045ouhuhjn") 
'4'
>>> random.choice((1,5,4,"j",4))  //元組
1
>>> random.choice((1,5,4,"j",4))
5
>>> random.choice([1,4,8,6,0,3])  //列表
4
>>> random.choice([1,4,8,6,0,3])

(6)random.shuffle()函數

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

>>> p = ["Python", "is", "powerful", "simple", "and so on..."]
>>> random.shuffle(p)
>>> print(p)
['powerful', 'Python', 'simple', 'is', 'and so on...']
>>> lst = [1,2,5,4,7]
>>> random.shuffle(lst)
>>> print(lst1)
[4, 7, 5, 2, 1]

(7)random.sample()函數

random.sample()函數的原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷,不作原地修改,返回列表。 如果k大於sequence元素個數的話會報錯。

>>> lst = [2,3,5,8,7,9,6,4]
>>> random.sample(lst,5)
[5, 9, 7, 8, 6]
>>> tup = [1,"f",8,"8f",0,7,5,8]
>>> random.sample(tup,4)
[7, '8f', 'f', 8]
>>> str1 = "i love you 1314"
>>> random.sample(str1,4)
['l', 'e', 'o', 'u']

到此這篇關於python中的亂數 Random介紹的文章就介紹到這了,更多相關python 亂數 Random內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com