2016-10-24 22 views
0
def BMI_calculator(inches, weight): 
    """ This function takes a persons height in feet and inches and their 
weight in pounds and calculates their BMI""" 

# Now we can just convert and calculate BMI 

    metric_height= inches* .025 
    metric_weight= weight* .45 
    BMI = int(metric_weight/(metric_height)**2) 
    print BMI 
    return BMI 

def BMI_user_calculator(): 
    """ This function will ask the user their body information and calulate 
the BMI with that info""" 
# First we need to gather information from the user to put into the BMI calculator 
    user_weight = int(raw_input('Enter your weight in pounds: ')) 
    user_height = int(raw_input('Enter your height in inches: ')) 

    print "Youre BMI is", 

    BMI_calculator(user_height, user_weight) 

    If BMI < 18.5: 
     print "You're BMI is below the healthy range for your age" 
    elif BMI > 24.9: 
     print "You're BMI is above the healthy range for your age" 
    else: 
     print "You are in the healthy BMI range!" 

を持って語った私がこれまで持っているコードですされています理由を理解していないが、実行は私がBMIを言って、私のifステートメント内の構文エラーを取得するときに定義されていません。 BMIが最初の関数から返されました。私は実際に何が起こっているのか分かりません。は私が私が私がここで構文エラー

+0

あなた 'BMI'変数のみBMI_Calculator''内に存在する:

あなたのコードは、このような何かをお読みください。あなたはuser_calculatorの戻り値を捕捉しないので、そこにある 'BMI'には未定義の変数があります。そして言語面では、 "youre" - > "you are"です。 "あなたはbmiです"とは意味がありません。 –

答えて

1

BMI_user_calculator()にはBMIが宣言されていないため、BMIが定義されていません。 if-elif文での比較に使用する前に、BMIを宣言する必要があります。

さらに、Ififである必要があります。 Pythonでは大文字と小文字が区別されます。

def BMI_calculator(inches, weight): 
    metric_height= inches* .025 
    metric_weight= weight* .45 
    BMI = int(metric_weight/(metric_height)**2) 
    # No need to print BMI here anymore since you're returning it anyway 
    # print BMI 
    return BMI 

def BMI_user_calculator(): 
    user_weight = int(raw_input('Enter your weight in pounds: ')) 
    user_height = int(raw_input('Enter your height in inches: ')) 

    BMI = BMI_calculator(user_height, user_weight) 

    print "Your BMI is", BMI 

    if BMI < 18.5: 
     print "Your BMI is below the healthy range for your age" 
    elif BMI > 24.9: 
     print "Your BMI is above the healthy range for your age" 
    else: 
     print "You are in the healthy BMI range!" 

if __name__ == '__main__': 
    BMI_user_calculator() 
+0

すごくおいしかったですよ。 – jchud13

+0

あなたは大歓迎です! –

+0

@ jchud13これが正しい答えであるとマークするといいでしょう。 :) –

関連する問題