Как убрать ошибку если пользователь вводит не тот тип данных
Занимаюсь неделю, написал код калькулятора, не могу понять как сделать чтобы программа не выдавала ошибку если пользователь вводит в числах буквы. Помогите пожалуйста
while 1:
what = input('Укажите действие: (+, -, *, /): ')
a = float(input('Первое число: '))
b = float(input('Второе число: '))
if what == '+': c = a + b
elif what == '-': c = a - b
elif what == '*': c = a * b
elif what == '/' and b != 0: c = a / b
elif what == '/' and b == 0:
print('На ноль делить нельзя')
continue
else:
print('Что так сложно следовать инструкциям?')
continue
print('Ответ: ', c)
Ответы (2 шт):
Автор решения: lsc0x
→ Ссылка
Почитайте про конструкции try-except. Вот решение:
what = input('Укажите действие: (+, -, *, /): ')
try:
a = float(input('Первое число: '))
b = float(input('Второе число: '))
except ValueError:
print('Введен неверный тип данных')
continue
if what == '+': c = a + b
elif what == '-': c = a - b
elif what == '*': c = a * b
elif what == '/' and b != 0: c = a / b
elif what == '/' and b == 0:
print('На ноль делить нельзя')
continue
else:
print('Что так сложно следовать инструкциям?')
continue
print('Ответ: ', c)
Автор решения: Ovsenka
→ Ссылка
Используйте функцию проверки экземпляра на принадлежность классу:
if not isinstance(a, float):
# ветка если введенное число не типа float
# обработка неверного ввода
else:
# когда введенное число типа float