当前位置:首页 >> 脚本专栏

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

在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