Python random.randrange() 方法



Python 的 random.randrange() 方法從給定範圍內返回一個隨機選擇的元素。

此方法接受兩個引數,分別是開始和結束。因此,它生成介於範圍的起始值和結束值之間的隨機數。

此函式無法直接訪問,因此我們需要匯入 random 模組,然後需要使用 random 靜態物件呼叫此函式。

語法

以下是 Python random.randrange() 方法的語法:

random.randrange ([start,] stop [,step])

引數

  • start - 範圍的起點。這將包含在範圍內。預設為 0。

  • stop - 範圍的終點。這將排除在範圍之外。

  • step - 要新增到數字中的步長,以決定隨機數。預設為 1。

返回值

此方法從給定範圍內返回一個隨機項。

示例 1

以下示例顯示了 Python random.randrange() 方法的使用方法。此處,起始值、結束值以及要新增到數字中的步長大小作為引數傳遞給此方法。

import random
# Select an even number in 100 <= number < 1000
print ("randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2))
# Select another number in 100 <= number < 1000
print ("randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3))

當我們執行上述程式時,它會產生以下結果:

randrange(100, 1000, 2) :  976
randrange(100, 1000, 3) :  520

示例 2

在這裡,只有起始值和結束值作為引數傳遞給 randrange() 方法。我們沒有提供要新增到數字中的步長大小。

import random
Start = 25
End = 45
randNo = random.randrange(Start,End)
print('The random number generated is:', randNo)

以下是上述程式碼的輸出:

The random number generated is: 32

示例 3

在下面給出的示例中,我們建立了起始值“25”和結束值“45”。然後我們將值分配給我們需要在列表中生成的隨機數總數。

此後,使用 for 迴圈生成 n 個隨機數。在此 for 迴圈內,我們將每個隨機數附加到列表中。然後,我們呼叫 randrange() 方法生成隨機數。

import random
Start = 25
End = 45
TotalRandomNumbers = 5
List = []
for i in range(TotalRandomNumbers):
    randNo = random.randrange(Start, End)
    List.append(randNo)
print('The random numbers list is:', List)

在執行上述程式碼時,我們得到以下輸出:

The random numbers list is: [36, 36, 42, 35, 26]

示例 4

如果我們將浮點值作為引數傳遞給此方法,它將引發 ValueError

import random
Start = 25.54
End = 45.67
randNo = random.randrange(Start,End)
print('The random number generated is:', randNo)

上述程式碼的輸出如下所示:

/home/cg/root/77837/main.py:4: DeprecationWarning: randrange() will raise TypeError in the future
  randNo = random.randrange(Start,End)
Traceback (most recent call last):
  File "/usr/lib/python3.10/random.py", line 303, in randrange
    istart = _index(start)
TypeError: 'float' object cannot be interpreted as an integer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/cg/root/77837/main.py", line 4, in <module>
    randNo = random.randrange(Start,End)
  File "/usr/lib/python3.10/random.py", line 309, in randrange
    raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()
python_modules.htm
廣告