2015-10-22 2 views
-1
 print("Are you male or female?") 
    gender = input() 
    print("How old are you?") 
    age = input() `` 
    print("How many calories have you eaten today?") 
    calories = input() 
    if age in range(10-15) and gender == (Male):  
     print(2230 - calories) 

Это начало кода, который я пытался написать, где кто-то вводит их пол, возраст и калории, которые они съели. Мой преподаватель дал данные, которые показывают количество калорий, которое должна потреблять каждая возрастная группа и пол. Затем вы минуете калории, которые они съели, со значением, которое они должны есть в зависимости от их возраста и пола. Это очень просто, поэтому включены только возрастные группы: 11-14 и 15-18. Все вопросы выполняются нормально, но я не могу получить основную часть кода для запуска. Он находится на Python. 3.3.3Python 3.3.3 Справка по коду. Калории, оставшиеся

+1

'пол == (мужчина)'. Это не выглядит правильным. –

ответ

0

Необходимо внести в код следующие изменения.

print("Are you male or female?") 
gender = input().lower() 
print("How old are you?") 
age = int(input()) 
#convert input to int 

print("How many calories have you eaten today?") 
calories = int(input()) 
#convert input to int 
if age in [ x for x in range(10,15) ] and gender == "male":  
    print(2230 - calories) 
+0

'[x for x in range (10,15)]'? Почему бы не просто «если 10 <возраст <15? –

+0

@MorganThrapp. +1 за ваше предложение. Действительно, это намного лучше. – abhishekrana

0

У вас в коде несколько проблем. Во-первых, когда вы пытаетесь сравнить значение, которое вы получаете как возраст/калории, вы сначала не конвертируете их в ints, и вы не можете сравнивать int и строку. Кроме того, gender == (Male) сравнивает переменную gender с переменной Male.

Вот очищены версия:

print("Are you male or female?") 
gender = input() 
while True: 
    try: 
     age = int(input("How old are you?")) 
    except ValueError: 
     print('Please enter a number for your age') 
     continue 
    else: 
     break 

while True: 
    try: 
     calories = int(input("How many calories have you eaten today?")) 
    except ValueError: 
     print('Please enter a number for your calories eaten today') 
     continue 
    else: 
     break 

if (10 < age < 15) and gender == 'male':  
    print(2230 - calories) 
Смежные вопросы