Случайный модуль не работает. ValueError: пустой диапазон для randrange () (1,1, 0)

В Python 2.7.1, Я импортирую модуль random. однако, когда я вызываю randint (), я получаю ошибку:

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

эта ошибка вызвана ошибкой в random.py сам модуль. Я не знаю, как это исправить, а не переустановить python. Я не могу менять версии.

может кто-нибудь дать мне код для рабочего модуля или сказать мне, что делать?

4 ответов


вы назвали randint так:

 randint(1,0)

это говорит randint вернуть значение, начинающееся как 1 и заканчивающееся на 0. Диапазон чисел от 1 до нуля - это, как вы наверняка понимаете, пустой диапазон. Отсюда и ошибка:

 empty range for randrange()

поверь мне, 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 возвращает значение между первый аргумент и второй аргумент.


если вы позвонили 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


random.randint(1, 0) возвращает ошибку, потому что всякий раз, когда вы используете random.randint(a, b) a должно быть меньше b. Попробуйте изменить random.randint(1, 0) до random.randint(0, 1) чтобы получить действительный результат.

клик здесь подробнее о random.randint