Python `randint()` 方法详解:生成随机整数的终极指南
引言
在本教程中,我们将重点探讨Python中的randint()
方法。在我们之前的教程中,我们已经了解了Python随机数教程中,random
模块内定义的各种随机数生成方法。
因此,正如您所知,要开始使用randint()
方法,我们首先需要在Python中导入random
模块。该模块本质上用于生成伪随机数。
randint()
方法的语法
Python
中的randint()
方法基本功能是返回一个在给定两个参数(即下限和上限,包括这两个限制)之间(包括这两个限制)的随机整数值。
值得注意的是,此方法只能生成整数类型的随机值。请查看以下语法以进一步理解该方法。
# randint() 语法
randint(下限 , 上限)
这里:
- 下限:是生成随机整数的起始点(包括该点)。
- 上限:是方法返回随机整数的结束点(包括该点)。
以上示例返回一个整数N,满足 N≥下限 且 N≤上限。
它的工作方式与randrange(beg, end)
类似,因此可以认为是它的同义词。
randint()
方法示例
让我们来看一下下面给出的代码,它展示了randint()
方法的使用和工作原理。
import random
beg = 10
end = 100
random_integer = random.randint(beg, end)
print("生成的随机整数是 :", random_integer)
输出:

显然,我们可以看到randint()
方法在10到100的限制范围内生成了一个随机整数值。
这个值是随机的吗?当我们多次调用这个方法时会发生什么?它会返回相同的值吗?
多次调用randint()
方法
下面的代码片段回答了以上提到的问题,并让我们清楚地了解了其含义。
import random
beg = 10
end = 100
for i in range(5):
print(random.randint(beg, end))
输出:

对于上述代码,重复调用random.randint()
方法会在10到100之间给出不同的随机整数。
因此,我们可以推断在我们的情况下,每次调用的值是随机的并且不重叠。此外,当调用次数很多且范围较小时,生成的随机值可能会发生碰撞或重叠。
正如前面所说的,我们必须确保上限和下限参数必须是整数类型。对于其他类型,我们会得到一个如下所示的ValueError
(值错误)。
import random
beg = 5.3
end = 10.2
print(random.randint(beg, end))
输出结果:
Traceback (most recent call last):
File "C:/Users/sneha/Desktop/test.py", line 4, in <module>
print(random.randint(beg, end))
File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 222, in randint
return self.randrange(a, b+1)
File "C:\Users\sneha\AppData\Local\Programs\Python\Python37-32\lib\random.py", line 186, in randrange
raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()
Process finished with exit code 1
结论
希望这篇关于Python中randint()
方法的简短教程能够让您对它有更清晰的了解。欢迎通过留言提供反馈。