那么现在你可以轻松计算出你的体重了吗?(Python)
So now you can easily calculate your weight?(Python)
说明 : 我想编写一个程序,使用以下公式计算用户的 BMI。
BMI= WeightInKilograms/HeightInMeters*HeightInMeters
注意我们的身高和体重输入要小数点后两位数,然后根据BMI范围给我们显示以下信息。
Underweight: BMI < 18.5
Normal: 18.5 <= BMI < 25
Overweight: 25 <= BMI < 30
Obese: 30 <= BMI
例子
input:
93
1.71
output:
31.80
Obese
我的问题
这是我的代码,当我 运行 它给了我一个来自 (else) 的错误并且确实
我的解决方案正确吗?
Weight_In_Kilograms = float(input())
Height_In_Meters = float(input())
BMI = Weight_In_Kilograms / Height_In_Meters*Height_In_Meters
print('BMI')
if 'BMI' < 18.5:
print("Underweight")
else 18.5 <= 'BMI'< 25:
print("Normal")
else 25 <= 'BMI' < 30:
print("Overweight")
else 30 <= 'BMI':
print("Obese")
你的代码有很多错误。您在 if 条件中使用 else 条件。这将引发错误。此外,您不能在某些条件下使用 else。
如果要检查嵌套形式的条件,则应使用 elif
而不是 else
关键字。
此外,您正在使用字符串 'BMI'
而不是变量 BMI
检查这些值
这是更正后的代码。
Weight_In_Kilograms = float(input())
Height_In_Meters = float(input())
BMI = Weight_In_Kilograms / (Height_In_Meters*Height_In_Meters)
print('BMI')
if BMI < 18.5:
print("Underweight")
elif BMI < 25:
print("Normal")
elif BMI < 30:
print("Overweight")
else:
print("Obese")
是的,正如 jaychandra 提到的,您的代码中有几个错误。这是我的解决方案。
(round(BMI, 2) 只是意味着程序会将您的值四舍五入到小数点后两位(如您的示例所示,它将打印 31.80)
Weight_In_Kilograms = float(input())
Height_In_Meters = float(input())
BMI = Weight_In_Kilograms / (Height_In_Meters**2)
print(round(BMI, 2))
if BMI < 18.5:
print("Underweight")
elif 18 <= BMI < 25:
print("Normal")
elif 25 <= BMI < 30:
print("Overweight")
else:
print("Obese")
说明 : 我想编写一个程序,使用以下公式计算用户的 BMI。
BMI= WeightInKilograms/HeightInMeters*HeightInMeters
注意我们的身高和体重输入要小数点后两位数,然后根据BMI范围给我们显示以下信息。
Underweight: BMI < 18.5
Normal: 18.5 <= BMI < 25
Overweight: 25 <= BMI < 30
Obese: 30 <= BMI
例子
input:
93
1.71
output:
31.80
Obese
我的问题
这是我的代码,当我 运行 它给了我一个来自 (else) 的错误并且确实 我的解决方案正确吗?
Weight_In_Kilograms = float(input())
Height_In_Meters = float(input())
BMI = Weight_In_Kilograms / Height_In_Meters*Height_In_Meters
print('BMI')
if 'BMI' < 18.5:
print("Underweight")
else 18.5 <= 'BMI'< 25:
print("Normal")
else 25 <= 'BMI' < 30:
print("Overweight")
else 30 <= 'BMI':
print("Obese")
你的代码有很多错误。您在 if 条件中使用 else 条件。这将引发错误。此外,您不能在某些条件下使用 else。
如果要检查嵌套形式的条件,则应使用 elif
而不是 else
关键字。
此外,您正在使用字符串 'BMI'
而不是变量 BMI
这是更正后的代码。
Weight_In_Kilograms = float(input())
Height_In_Meters = float(input())
BMI = Weight_In_Kilograms / (Height_In_Meters*Height_In_Meters)
print('BMI')
if BMI < 18.5:
print("Underweight")
elif BMI < 25:
print("Normal")
elif BMI < 30:
print("Overweight")
else:
print("Obese")
是的,正如 jaychandra 提到的,您的代码中有几个错误。这是我的解决方案。
(round(BMI, 2) 只是意味着程序会将您的值四舍五入到小数点后两位(如您的示例所示,它将打印 31.80)
Weight_In_Kilograms = float(input())
Height_In_Meters = float(input())
BMI = Weight_In_Kilograms / (Height_In_Meters**2)
print(round(BMI, 2))
if BMI < 18.5:
print("Underweight")
elif 18 <= BMI < 25:
print("Normal")
elif 25 <= BMI < 30:
print("Overweight")
else:
print("Obese")