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

use*_*717 9 python random numbers range

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

ValueError: empty range for randrange() (1,1, 0) 
Run Code Online (Sandbox Code Playgroud)

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

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

Len*_*bro 17

你这样叫randint:

 randint(1,0)
Run Code Online (Sandbox Code Playgroud)

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

 empty range for randrange()
Run Code Online (Sandbox Code Playgroud)

  • @ user551717:再次阅读我的回答,直到你理解为止.提示:这不是如何称呼它.这就是你所说的.这是错的. (9认同)
  • 我知道你就是这么称呼它的。我正在调用它,它会抛出一个错误,因为随机模块已损坏。 (2认同)

Kat*_*iel 7

相信我,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)
Run Code Online (Sandbox Code Playgroud)

randint返回第一个参数和第二个参数之间的值。

  • @user551717:所以你要从列表中随机选择一项?在 random 模块中已经有一个函数。请阅读文档。http://docs.python.org/library/random.html 另请注意,如果您添加到第二个参数,randint 将给您一个介于 1 和 1 之间的随机整数。即,它*总是* 返回 1。 (2认同)