Python中的randint()方法
介绍
在本教程中,我们将专注于Python中的randint()方法。在我们之前的教程中,我们了解了在Python的随机数教程中,随机模块中定义的不同随机数生成方法。
所以,正如你已经知道的,我们首先需要在Python中导入random模块才能开始使用randint()方法。该模块本质上创建了伪随机性。
randint() 方法的语法
基本上,Python 中的 randint() 方法返回在两个较低和较高限制之间(包括两个限制)提供的两个参数之间的随机整数值。
值得注意的是,该方法只能生成整数类型的随机值。查看语法以进一步融入该方法。
#randint() Syntax
randint(lower limit , upper limit)
这里
- lower limit is the starting point from and including which the random integer would be generated,
- uppwer limit is the stopping point up to which the method would return the random integer.
以上示例返回一个整数N,满足 N≥beg 且 N≤end。
它的工作方式与randrange(beg,end)相同,因此是它的同义词。
randint()方法示例
让我们来看一下下面给出的代码,它展示了randint()方法的使用和工作原理。
import random
beg=10
end=100
random_integer = random.randint(beg, end)
print("The random integer is :", random_integer)
输出:将以下内容用中文表达,只需要一个选项:
Can you please help me with this task?
显然,我们可以看到randint()方法在1-100的限制范围内生成一个随机整数值。
这个值是随机的吗?当我们多次调用这个方法时会发生什么?它会返回相同的值吗?
多个randint()方法调用
下面的代码片段回答了以上提到的问题,并让我们清楚地了解了其含义。
import random
beg=10
end=100
for i in range(5):
print(random.randint(beg, end))
输出:
对于上述代码,重复调用random.randint()方法会在10到100之间给出不同的随机整数。
因此,我们可以推断在我们的情况下,每次调用的值是随机的并且不重叠。此外,当调用次数很多且范围较小时,生成的随机值可能会发生碰撞或重叠。
正如前面所说的,我们必须确保上限和下限参数必须是整数类型。对于其他类型,我们会得到一个如下所示的值错误。
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