#python #exception #try-catch
#python #исключение #попробуйте-поймайте
Вопрос:
Мой метод улавливает ValueEror, но это не должно происходить в этой ситуации. Пример ввода: 15, -7.
В чем может быть проблема и как ее исправить?
def isdigit(number):
try:
int(number)
except ValueError:
return False
else:
return True
Комментарии:
1. Я не могу воспроизвести ошибку.
isdigit(' 15') # True
2. вы хотите вызвать поддельную ошибку?
3. Проверьте отступ, который я отредактировал в вашем вопросе.
4. извините, я понял, что вы имеете в виду, это действительно странно, у меня такая же ошибка 🙂
Ответ №1:
Этот подход определенно то, что вы ищете
def is_digit(num):
while True:
try:
num = int(input("Enter an integer number: "))
break
except ValueError:
print("Invalid input. Please input integer only")
continue
print(is_digit(" 9")
вывод
Invalid input. Please input integer only
проголосуйте и проверьте 🙂