Предмет: Информатика,
автор: igrovzlom2002
Python:Traceback
Проблема:выдает Traceback (most recent call last):
File "C:UsersEagle2002Desktoppythonfourth.py", line 5, in
opt = h - w
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Программа ниже:
print('Контроль веса')
print('Введите ваш рост и вес')
h = input('Рост(см)->')
w = input('Вес(кг)->')
opt = h - w
if w == opt:
print('Ваш вес оптимален!')
elif w < opt:
rly = opt - w
print('Вам надо поправиться на', rly, 'кг.')
elif w > opt:
rly = w - opt
print('Вам надо похудеть на', rly, 'кг.')
Ответы
Автор ответа:
0
Ошибка в том, что Пайтон - язык со строгой динамической типизацией, т.е. тип переменной определяется при первом присваивании и в дальнейшем не может быть изменен. Оператор input читает строку символов и h,w получаеют символьный тип. Вы пытаетесь над ними выполнить арифметическую операцию и получаете ошибку.
Попробуйте такую запись:
h = int(input('Рост(см)->'))
w = int(input('Вес(кг)->'))
Попробуйте такую запись:
h = int(input('Рост(см)->'))
w = int(input('Вес(кг)->'))
Похожие вопросы
Предмет: Информатика,
автор: ladybrilliant0712
Предмет: Химия,
автор: nnnnnovodranova65
Предмет: Қазақ тiлi,
автор: sayatmuratylu
Предмет: Математика,
автор: mariasorokina12