如何在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月9日

6000+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.