Python random.randrange() 方法



Python random.randrange() 方法返回从给定范围内随机选择的元素。

此方法接受两个参数,即 start 和 stop。因此,它会在范围的起始值和结束值之间生成随机数。

这个函数不能直接访问,所以我们需要导入 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

在这里,只有 start 值和 end 值作为参数传递给 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

如果我们将 float 值作为参数传递给此方法,则会引发 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()