如何在 Python 中從範圍內隨機選擇元素?
在這篇文章中,我們將展示如何在 python 中從範圍內隨機選擇。以下是完成此任務的各種方法 -
使用 random.randrange() 函式
使用 random.randint() 函式
使用 random.random() 函式
使用 random.sample()
使用 random.randrange() 函式
演算法(步驟)
以下是執行所需任務需要遵循的演算法/步驟 -
使用 import 關鍵字匯入 random 模組。
使用random.randrange()函式(返回指定範圍內的隨機數)透過傳遞最小值和最大值作為引數來生成給定範圍內的隨機數。
透過將起始、停止和步長值作為引數傳遞給randrange()函式,從 1 到 50 隨機生成一個數字(步驟 2)。
示例
以下程式使用random.randrange()函式返回給定範圍內的隨機數 -
# importing random module import random print('Random Numbers from 1 to 50 are:') # getting a random number from 1 to 50 x=random.randrange(1,50) print(x) # getting an alternative(odd number) random number from 1 to 50 y=random.randrange(1,50,2) print(y)
輸出
執行上述程式後,將生成以下輸出 -
Random Numbers from 1 to 50 are: 28 9
使用 random.randint()
演算法(步驟)
以下是執行所需任務需要遵循的演算法/步驟 -
給出範圍的下限和上限值,並將它們儲存在兩個單獨的變數中。
使用random.randint()函式(返回指定範圍內的隨機數)透過傳遞最小值和最大值作為引數來生成給定範圍內的隨機數。
列印生成的隨機數。
示例
以下程式使用random.randint()函式返回給定範圍內的隨機數 -
# importing random module import random # Giving a lower limit value of the range lowerLimit = 1 # Giving a higher limit value of the range higherLimit = 50 print('Random Number from',lowerLimit,'and',higherLimit,'is:') # getting a random number from 1 to 50 x=random.randint(1,50) # printing the generated random number print(x)
輸出
執行上述程式後,將生成以下輸出 -
Random Number from 1 and 50 is: 18
使用 random.random() 函式
演算法(步驟)
以下是執行所需任務需要遵循的演算法/步驟 -
使用 import 關鍵字匯入 random 模組。
建立一個函式getRandom(),該函式透過接受最小和最大數字的範圍來返回一個隨機數
獲取最大值和最小值之間的差值。
使用random()函式(隨機返回 0 到 1 之間的浮點值)生成一個隨機數
將隨機數乘以差值,並使用 int() 函式(將指定值轉換為整數)轉換為整數。
將生成的隨機數與最小值相加。
返回生成的隨機數。
給出範圍的下限和上限值,並將它們儲存在兩個單獨的變數中。
透過將上述下限和上限值作為引數傳遞給它,呼叫getRandom()函式。
示例
以下程式使用random.random()函式返回給定範圍內的隨機數 -
# importing random module import random # creating a function that returns random numbers by # accepts the range of minimum and maximum numbers def getRandom(minimum, maximum): # getting the difference between maximum and minimum diff = maximum - minimum # generating a random number using the random function randomNumber = random.random() # Multiplying a random number with a difference and converting it to an integer randomNumber = int(randomNumber * diff) # adding a random number with a minimum value randomNumber = randomNumber + minimum # returning the random number return randomNumber # Giving a lower limit value of the range lowerLimit = 1 # Giving a higher limit value of the range higherLimit = 50 print('Random Number from',lowerLimit,'and',higherLimit,'is:') # Passing lower limit and higher limit values as arguments to getRandom() function print(getRandom(10,100))
輸出
執行上述程式後,將生成以下輸出 -
Random Number from 1 and 50 is: 12
使用 random.sample()
random.sample()方法返回一個列表,其中包含從序列中隨機選擇的指定數量的元素。
語法
random.sample(sequence, k)
引數
sequence - 任何序列,如列表、元組等。
k - 要生成的隨機項數
演算法(步驟)
以下是執行所需任務需要遵循的演算法/步驟 -
使用 import 關鍵字匯入 random 模組。
輸入要生成的隨機項數。
透過將數字範圍(下限和上限)、要生成的隨機項數作為引數傳遞給它,使用 random.sample() 生成所需的隨機數。
The random.sample() method returns a list containing a randomly selected number of elements from a sequence.
語法
random.sample(sequence, k)
列印生成的隨機數列表。
示例
以下程式使用random.random()函式返回給定範圍內的隨機數 -
# importing random module import random # Giving a lower limit value of the range lowerLimit = 1 # Giving a higher limit value of the range higherLimit = 50 print('Random Number from',lowerLimit,'and',higherLimit,'is:') # Entering the number of random items to be generated k=5 # generarting 5 random numbers between the lower limit and higher limit randomList = random.sample(range(lowerLimit, higherLimit),k) # printing the list of 5 random numbers print(randomList)
輸出
執行上述程式後,將生成以下輸出 -
Random Number from 1 and 50 is: [24, 32, 6, 29, 28]
結論
在本文中,我們學習了四種不同的 Python 方法來從範圍內選擇隨機項。我們還學習瞭如何使用 sample() 函式在特定範圍內建立 k 個隨機數。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP