Я новичок в Python и в последнее время попытки создать калькулятор ИМТ, но у меня возникают ошибки со следующим кодом:Python: raw_input и неподдерживаемый тип операнда (ов)
def calculator():
weight = raw_input('Please enter your weight (kg):')
if weight.isdigit and weight > 0:
height = raw_input('Please enter your height (m):')
if height.isdigit and height > 0:
bmi = (weight)/(height ** 2)
print "Your BMI is", bmi
if bmi < 18.5:
print 'You are underweight.'
if bmi >= 18.5 and bmi < 25:
print 'Your BMI is normal.'
if bmi >= 25 and bmi < 30:
print 'You are overweight.'
if bmi >= 30:
print 'You are obese.'
else:
height = raw_input('Please state a valid number (m):')
else:
weight = raw_input('Please state a valid number (kg):')
Всякий раз, когда я пытаюсь для выполнения кода, я могу войти вес и высоту, но я тогда столкнулся с этим сообщением об ошибке:
Traceback (most recent call last):
File "*location*", line 40, in <module>
calculator()
File "*location*", line 15, in calculator
bmi = (weight)/(height ** 2)
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'
Я извиняюсь за этот немой вопрос и ошибки охваченном кода, но я новичок в программирование и оцените любую помощь. :)
вещи, которые вы получаете из 'raw_input', всегда в строковом типе, преобразуйте их в int, используя' int() ' – The6thSense
Обратите внимание, что' weight.isdigit' ссылается только на метод, он фактически не вызывает * этот метод. –
есть много ошибок в вашей программе, просто пройдите через основную часть python, затем повторите попытку и что вы пытаетесь выполнить здесь 'if height == exit:' – The6thSense