在Python 2.7.1中, 我导入随机模块。 当我调用randint()时,我收到错误:
ValueError: empty range for randrange() (1,1, 0)
此错误是由random.py模块本身的错误引起的。 我不知道如何解决它,而不是重新安装python帮助。我无法改变版本。
有人可以给我一个工作模块的代码或告诉我该怎么做?
答案 0 :(得分:16)
你这样打电话给randint:
randint(1,0)
告诉randint返回一个从1开始并以0结尾的值。从1到0的数字范围是你肯定意识到的空范围。因此错误:
empty range for randrange()
答案 1 :(得分:4)
相信我,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
{{1}}在第一个参数和第二个参数之间返回值 。
答案 2 :(得分:0)
如果您单独调用randint()
,则肯定会导致错误。您需要为randint()
提供可供选择的范围。 randint(a, b)
,其中a和b是整数,应该可以工作,如果没有,那么你的Python安装就会被破坏。
如果b小于a,它也会引发异常。想想它就像你提供一个范围:将下限放在第一位是对的,对吧?所以先放下较小的边界。
如果您确实想要将random
模块与正确的模块进行比较,则来源位于http://svn.python.org/view/python/branches/release27-maint/Lib/random.py?view=markup
答案 3 :(得分:0)
random.randint(1, 0)
会返回错误,因为每当您使用random.randint(a, b)
时,a必须小于b。尝试将random.randint(1, 0)
更改为random.randint(0, 1)
以获得有效结果。
点击here了解有关random.randint