Python如何生成隨機數?
Python包含一個內建的包,即random模組,用於生成隨機數。
在本文中,我們將向您展示如何使用不同的方法在Python中生成隨機數:
使用random.seed()方法
使用random.randrange()方法
使用random.randint()方法
使用random.random()
使用random.choice()方法
使用random.uniform()方法
方法1:使用random.seed()方法
隨機數生成器使用seed()方法初始化。
為了生成隨機數,隨機數生成器需要一個起始數值(種子值)。
注意 - 隨機數生成器預設使用當前系統時間。
要更改隨機數生成器的起始數字,請使用seed()方法。
如果您兩次使用相同的種子值,您將獲得相同的隨機數。
語法
random.seed(x, version)
引數
x(可選) - 生成隨機數所需的種子值。如果它是整數,則直接使用;否則,必須將其轉換為整數。
version - 一個整數,指定如何將'x'引數轉換為整數。預設值為2。如果值為None,則生成器使用當前系統時間。
下面的程式使用random.random()和seed()方法從列表中返回一個隨機元素:
import random # Setting the seed value to 5 random.seed(5) print(random.random()) # Setting the same seed value as above i.e 5 random.seed(5) print(random.random())
輸出
執行上述程式後,將生成以下輸出:
0.62290169489 0.62290169489
我們將種子值設定為5,然後使用random模組的random()函式生成一個隨機值。然後我們再次將種子值設定為5,並使用random()函式生成與之前相同的隨機值。這就是seed()函式的使用方法。
方法2:使用random.randrange()方法
randrange()方法從指定的範圍內隨機選擇一個元素並返回它。
語法
random.randrange(start, stop, step)
引數
start(可選) - 表示起始位置的整數。預設為0
stop(必填) - 表示結束位置的整數。
step(可選) - 表示增量的整數。預設為1。
下面的程式使用randrange()函式返回給定範圍內的隨機數:
import random # generating a random number between 10(included) and 20(not included) print("Random Number Generated = ", random.randrange(10, 20))
輸出
執行上述程式後,將生成以下輸出:
Random Number Generated = 13
這裡使用randrange()函式從一個範圍內生成隨機數。我們傳遞起始值(下限)和結束值(上限)作為引數,它會在這些範圍內生成一個隨機數。
方法3:使用random.randint()方法
randint()方法返回一個整數,表示從給定範圍內隨機選擇的元素。
注意 - randint()方法是randrange(start, stop+1)的別名。
語法
random.randint(start, stop)
引數
start(必填) - 表示起始位置的整數。
stop(必填) - 表示結束位置的整數。
下面的程式使用randint()函式返回給定範圍內的隨機數:
import random # generating a random number between 10 and 20(both 10 and 20 numbers included) print("Random Number Generated = ", random.randint(10, 20))
輸出
執行上述程式後,將生成以下輸出:
Random Number Generated = 20
randrange()和randint()之間的區別在於,randint()包含上限在範圍內,而randrange()不包含上限。我們可以向randrange()函式新增步長值,但不能向randint()函式新增。
方法4:使用random.random()
random()方法生成0到1之間的隨機浮點數。
語法
random.random()
引數
此random()方法不接受任何引數。
下面的程式使用random()函式返回給定範圍內的隨機數:
import random # generating a random floating-point number between 0 and 1 print("Random Number Generated = ", random.random())
輸出
Random Number Generated = 0.15685132230226662
方法5:使用random.choice()方法
choices()方法返回一個列表,其中包含從提供的序列中隨機選擇的元素。
序列可以是字串、範圍、列表、元組或其他任何東西。
下面的程式從列表中返回隨機數:
import random #Input list given_List = [ 1, 6, 3, 9, 10, 24, 475, 483, 2656] print('The first Random Element from the list:',random.choice(given_List)) print('The Second Random Element from the list:',random.choice(given_List))
輸出
The first Random Element from the list: 6 The Second Random Element from the list: 24
方法6:使用random.uniform()方法
uniform()方法生成兩個輸入值之間的隨機浮點數(包括兩個數字)。
語法
random.uniform(x, y)
引數
x(必填) - 表示最低可能結果的數字
y(必填) - 表示最高可能結果的數字
下面的程式使用uniform()函式返回給定範圍內的隨機浮點數:
import random # generating a random number between 10 and 20(both 10 and 20 are also included) print("Random Number Generated = ", random.uniform(10, 20))
輸出
Random Number Generated = 12.845596876772472
在這種情況下,uniform()函式用於從一個範圍內生成一個隨機浮點數。我們將其起始值(下限)和結束值(上限)作為引數傳遞,它會在這兩個範圍內生成一個隨機的浮點數/十進位制數。
結論
在本文中,我們學習瞭如何使用六種不同的方法生成隨機數:
seed(),randrange(),randint(),choice(),random(),uniform()。我們還學習瞭如何使用choice()函式從列表/字串/元組中獲取隨機元素。