如何在 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 個隨機數。

更新於: 2022-11-09

6K+ 次檢視

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.