如何在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個隨機數。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP