Je suis un débutant à Python et ont été récemment essayer de créer un calculateur d'IMC, mais je vais avoir des erreurs avec le code suivant:Python: raw_input et le type d'opérande non pris en charge (s)
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):')
Chaque fois que j'essaie pour exécuter le code, je suis en mesure d'entrer le poids et la hauteur, mais je suis alors confronté à ce message d'erreur:
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'
Je présente mes excuses pour cette question stupide et code monté erreur, mais je suis très nouveau à la programmation et apprécie tout type d'aide. :)
choses que vous obtenez de «raw_input» sont toujours dans le type de chaîne convertissez-les en int en utilisant int() ' – The6thSense
Notez que' weight.isdigit' ne fait référence qu'à la méthode, elle ne l'appelle pas *. –
il ya beaucoup d'erreur dans votre programme il suffit de passer par la base de python puis essayez à nouveau et qu'est-ce que vous essayez d'accomplir ici 'si height == exit:' – The6thSense