脚本专栏 
首页 > 脚本专栏 > 浏览文章

python中random.randint和random.randrange的区别详解

(编辑:jimmy 日期: 2025/1/9 浏览:3 次 )

在python中,通过导入random库,就能使用randint 和 randrange
这两个方法来产生随机整数。那这两个方法的区别在于什么地方呢?让我们一起来看看!

区别:

randint 产生的随机数区间是包含左右极限的,也就是说左右都是闭区间的[1, n],能取到1和n。而 randrange 产生的随机数区间只包含左极限,也就是左闭右开的[1, n),1能取到,而n取不到。randint 产生的随机数是在指定的某个区间内的一个值,而 randrange 产生的随机数可以设定一个步长,也就是一个间隔。

区别1——例子:

randint 示例:

import random
while True:
 rdt = random.randint(1, 3)
 print(rdt, end="")
 if rdt == 3:
  break

输出结果:产生随机数3即停止。

C:\Users\ASUS\AppData\Local\Programs\Python\Python37\python.exe F:/python/test.py
1121213
Process finished with exit code 0

randrange 示例:

import random
while True:
 rdt = random.randrange(1, 3)
 print(rdt, end="")
 if rdt == 3:
  break

输出结果:永远无法取到有边界,无线循环下去。

python中random.randint和random.randrange的区别详解

区别2——例子:

randint 示例:

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

输出结果:randint 无法设定步长,报如下错误!

python中random.randint和random.randrange的区别详解

randrange 示例:

import random
for i in range(1, 10):
 print(random.randrange(1, 100, 10), end=" ")

输出结果:设定步长为10,产生的随机数间隔都是10的整数倍。

C:\Users\ASUS\AppData\Local\Programs\Python\Python37\python.exe F:/python/test.py
31 31 71 21 21 31 41 71 31
Process finished with exit code 0

上一篇:Python实现迪杰斯特拉算法过程解析
下一篇:Python 操作 MySQL数据库
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。