简介

在本教程中,我们将重点介绍 Python 中的randint()方法。在我们之前的教程中,我们在 Python 中的随机数教程中的 random 模块中看到了不同的随机数生成方法。

因此,如您所知,我们需要先在 Python 中导入 random 模块 才能开始使用 randint() 方法。该模块本质上创建了伪随机

randint() 方法语法

基本上,Python 中的randint()方法返回作为两个参数提供的两个 lowerhigher 限制(包括两个限制)之间的随机整数值。

需要注意的是,这种方法只能产生整数型随机值。看一下语法,以便我们可以进一步合并该方法。

#randint() Syntax
randint(lower limit , upper limit)

这里,

  • 下限是生成随机整数的起点,包括该起点,

  • 上限是该方法返回随机整数的停止点。

上面的示例返回一个整数 N 其中 N>u003dbegN<u003dend.

它的工作方式与randrange(beg,end)相同,因此是相同的别名。

randint() 方法示例

让我们看看下面给出的代码,它说明了randint()方法的使用和工作。

import random
beg=10
end=100
random_integer = random.randint(beg, end)
print("The random integer is :", random_integer)

输出:

Randint 示例

randint() 示例

很明显,我们可以看到randint()方法在1-100范围内生成了一个随机整数值。

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

多个randint()方法调用

下面的代码片段回答了上述所有问题,让我们有了一个清晰的认识。

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

输出:

多个 Randint 输出 1

多个 Randint() 输出

对于上面的代码,重复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() 方法的简短教程已经让你清楚地了解了这个函数。随时欢迎您通过评论提供反馈。

参考文献

  • https://docs.python.org/3/library/random.html

  • /community/tutorials/python-random-number

  • https://stackoverflow.com/questions/34865409/python-and-random-randint

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐