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 示例

显然,我们可以看到randint()方法在10到100的限制范围内生成了一个随机整数值。

这个值是随机的吗?当我们多次调用这个方法时会发生什么?它会返回相同的值吗?

多次调用randint()方法

下面的代码片段回答了以上提到的问题,并让我们清楚地了解了其含义。

import random
beg = 10
end = 100
for i in range(5):
    print(random.randint(beg, end))

输出:

多次 Randint 输出 1

对于上述代码,重复调用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()方法的简短教程能够让您对它有更清晰的了解。欢迎通过留言提供反馈。

参考资料

bannerAds