随机模块不工作。 ValueError:randrange()(1,1,0)的空范围

时间:2010-12-22 21:16:31

标签: python random numbers range

在Python 2.7.1中, 我导入随机模块。 当我调用randint()时,我收到错误:

ValueError: empty range for randrange() (1,1, 0) 

此错误是由random.py模块本身的错误引起的。 我不知道如何解决它,而不是重新安装python帮助。我无法改变版本。

有人可以给我一个工作模块的代码或告诉我该怎么做?

4 个答案:

答案 0 :(得分:16)

你这样打电话给randint:

 randint(1,0)

告诉randint返回一个从1开始并以0结尾的值。从1到0的数字范围是你肯定意识到的空范围。因此错误:

 empty range for randrange()

答案 1 :(得分:4)

相信我,random工作正常。您使用randint&lt; 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

的更多信息