Как сделать так, чтобы при наборе текста в данном случае выдавалось "Incorrect valuе"?

a = input('Enter the right answer: ')
b = int(a)
b != str(a)
if b == 440:
    print('Correct answer')
elif b == str(a):
    print("Incorrect value")
else:
    print('Incorrect answer')

Как сделать так, чтобы при наборе, например, букв выдавался ответ incorrect value? Как будто онлайн тест, в котором есть только один вариант ответа в числовом виде. Если вводишь текст - то пусть отвечает "неверное значение", а при неверном числовом - "неверный ответ".


Ответы (3 шт):

Автор решения: Zhihar

можно такую проверку на треш вместо числа использовать:

a = input('Enter the right answer: ')

try:
    answer = int(a)
    if answer == 440:
        print("corrent answer")
    else:
        print("incorrect answer")
except:
    print("incorrent value")

если происходит ошибка при преобразовании строки в число, то происходит ошибка (срабатывает исключение) и выводится соответствующий текст

→ Ссылка
Автор решения: endlish emmet
if input('Enter the right answer: ').isnumeric():
    print('Correct value')
else:
    print('Incorrect value')

str.isnumeric() - Возвращает флаг что строка содержит ли только числа.

→ Ссылка
Автор решения: ПИТОНИСТ версия-3-8

Вот решение, с проверкой и отрицательных чисел тоже :)

a = input('Enter the right answer: ')
if ans.isdigit() or ans.replace('-', '', 1).isdigit():
    if int(ans)=='440': print('Correct answer')
    else: print('Incorrect answer')
else: print("Incorrect value")

В данном случае метод .isdigit() проверяет, введены ли в строке только числа или нет (возвращает True / False).

→ Ссылка