Вылазит ошибка при вычислении случайного числа
Пытаюсь сгенерировать случайное число от первого до второго числа, которые вводит пользователь. Но вылезает ошибка. код:
elif ord(pressedKey) == ord("g"):
print('Рандомайзер запущен.')
print('Чтобы произвести случайное число - введите 0 в строку первого и второго чисел.')
print('Чтобы произвести случайное число от одной цифры до другой - введите их в строку для первого и второго чисел.')
the_first_random_number = int(input("Введите первое число: "))
the_second_random_number = int(input("Введите второе число: "))
user_numbers = random.randint(the_first_random_number, the_second_random_number)
print(user_numbers)
Ошибка:
Traceback (most recent call last):
File "C:\Users\гыук\AppData\Local\Programs\test.py", line 56, in <module>
user_numbers = random.randint(the_first_random_number, the_second_random_number)
File "C:\питон\lib\random.py", line 338, in randint
return self.randrange(a, b+1)
File "C:\питон\lib\random.py", line 316, in randrange
raise ValueError("empty range for randrange() (%d, %d, %d)" % (istart, istop, width))
ValueError: empty range for randrange() (8, 4, -4)
Ответы (2 шт):
Автор решения: icYFTL
→ Ссылка
Очевидно empty range.
randrange(<START>,<STOP>,<STEP>)
Вы пытаетесь 8 взять за старт, а надо за стоп. И еще шаг не может быть отрицательным.
На всякий случай:
START < STOP && STEP > 0
Автор решения: FotonPC
→ Ссылка
Ну ты просто проверяй нули:
elif ord(pressedKey) == ord("g"):
print('Рандомайзер запущен.')
print('Чтобы произвести случайное число - введите 0 в строку первого и второго чисел.')
print('Чтобы произвести случайное число от одной цифры до другой - введите их в строку для первого и второго чисел.')
the_first_random_number = int(input("Введите первое число: "))
the_second_random_number = int(input("Введите второе число: "))
if the_first_random_number == the_second_random_number == 0:
user_number = random.randint(0, 2 ** 16)
else:
user_numbers = random.randint(the_first_random_number, the_second_random_number)
print(user_numbers)
P.S. И имена переменных не пиши такие огромные. Вполне бы подошли в стиле: rand_num_1, rand_num_2.