Как определить тип введённого значения в python?
Надо сделать так, чтобы программа определяла, является ли введённое значение целым числом.
b = input('Введите первое слагаемое: ')
c = input('Введите второе слагаемое: ')
if type(b) == int and type(c) == int:
print('Сумма равна:', b + c)
else:
print('Ошибка! Нужно вводить только целые числа.')
Всегда выдаёт 'Ошибка! Нужно вводить только целые числа.', то же самое если вместо type использовать isinstance:
if isinstance(b, int) and isinstance(c, int):
Ответы (1 шт):
Автор решения: nchistov
→ Ссылка
Вот так:
b = input('Введите первое слагаемое: ')
c = input('Введите второе слагаемое: ')
try:
b = int(b)
c = int(c)
except ValueError:
print('Ошибка! Нужно вводить только целые числа.')
else:
print('Сумма равна:', b + c)
Когда вы вызываете input, возвращается строка. Но мы пытаемся перевести его в число и если возникает ValueError, то есть не получается перевести, мы выводим нужное сообщение, и программа завершается.
Если ошибки нет, пройдет блок else, и все посчитается.