随机模块未工作。ValueError:randrange()的范围为空(1,1,0)
在Python 2.7.1中,
我导入了随机模块(random module)。
但是当我调用randint()时,却出现了错误:
ValueError: empty range for randrange() (1,1, 0)
这个错误是因为random.py模块本身有问题。
我不知道该怎么解决,重新安装Python也没有用。我不能更换版本。
有没有人能给我一个可以正常工作的模块代码,或者告诉我该怎么做?
4 个回答
2
random.randint(1, 0)
会报错,因为在使用 random.randint(a, b)
时,a 必须小于 b。你可以把 random.randint(1, 0)
改成 random.randint(0, 1)
,这样就能得到一个有效的结果。
想了解更多关于 random.randint
的信息,可以点击 这里。
8
相信我,random
这个函数运行得很好。你在用 randint
的时候,传入的 b
是小于 a
的:
>>> random.randint(1, 0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\random.py", line 228, in randint
return self.randrange(a, b+1)
File "C:\Python27\lib\random.py", line 204, in randrange
raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop
, width)
ValueError: empty range for randrange() (1,1, 0)
randint
会返回一个值,这个值是在第一个参数和第二个参数之间的。
30
你是这样调用randint的:
randint(1,0)
这段代码告诉randint返回一个值,起始值是1,结束值是0。你肯定明白,从1到0的数字范围是空的,也就是说没有任何数字可以选。所以就出现了错误:
empty range for randrange()