Python random.randrange() 方法返回从给定范围内随机选择的元素。
此方法接受两个参数,即 start 和 stop。因此,它会在范围的起始值和结束值之间生成随机数。
这个函数不能直接访问,所以我们需要导入 random 模块,然后我们需要使用 random 静态对象调用这个函数。
语法
以下是 Python random.randrange() 方法的语法 -
参数
- start - 范围的起点。这将包含在范围内。默认情况下为 0。
- stop − 范围的停止点。这将从范围中排除。
- step − 将数字相加以决定随机数的步骤。默认情况下,它是 1。
返回值
此方法返回给定范围内的随机项。
示例 1
以下示例显示了 Python random.randrange() 方法的用法。在这里,起始值、结束值和要添加到数字中的步长作为参数传递给此方法。
当我们运行上述程序时,它会产生以下结果——
randrange(100, 1000, 2) : 976
randrange(100, 1000, 3) : 520
randrange(100, 1000, 3) : 520
示例 2
在这里,只有 start 值和 end 值作为参数传递给 randrange() 方法。我们没有提供要在数字中添加的步长。
以下是上述代码的输出 -
The random number generated is: 32
示例 3
在下面给出的示例中,我们将创建起始值 '25' 和结束值 '45'。然后,我们将一个值分配给我们需要在列表中生成的随机数总数。
此后,使用 for 循环生成 n 个随机数。在这个 for 循环中,我们将每个随机数附加到列表中。然后我们调用 randrange() 方法来生成随机数。
在执行上述代码时,我们得到以下输出 -
The random numbers list is: [36, 36, 42, 35, 26]
示例 4
如果我们将 float 值作为参数传递给此方法,则会引发 ValueError。
上述代码的输出如下 -
/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()
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()