Python if语句语法?

Python if语句语法?,python,if-statement,Python,If Statement,我正在做一个体重指数计算器,它的状态部分有一堆if语句。出于某种原因,我在Eclipse中得到了一个错误,说这是预期的:但我不知道遗漏了什么 下面是引发错误的代码示例: BMI = mass / (height ** 2) if(BMI < 18.5): status = "Underweight" if(BMI => UNDERWEIGHT and BMI < NORMAL): status = "Normal" if(BMI => NORMAL

我正在做一个体重指数计算器,它的状态部分有一堆if语句。出于某种原因,我在Eclipse中得到了一个错误,说这是预期的:但我不知道遗漏了什么

下面是引发错误的代码示例:

BMI = mass / (height ** 2)

if(BMI < 18.5):
    status = "Underweight"

if(BMI => UNDERWEIGHT and BMI < NORMAL):
    status = "Normal"

if(BMI => NORMAL & BMI < OVERWEIGHT):
    status = "Overweight"

elif(BMI >= 30):
    status = "Obese"
=>在Python中没有任何意义。大于或等于写入>=。

您可能会更改:

if(BMI => NORMAL & BMI < OVERWEIGHT):
致:

根据其他一些建议,您可以将整个语句改写为:

if BMI < UNDERWEIGHT:
    status = "Underweight"

elif BMI >= UNDERWEIGHT and BMI < NORMAL:
    status = "Normal"

elif BMI >= NORMAL and BMI < OVERWEIGHT:
    status = "Overweight"

elif BMI >= OVERWEIGHT:
    status = "Obese"
在python中,我们可以检查数字是否在范围内,如下所示

if 0 < MyNumber < 2:

只有当MyNumber是介于0和2之间的某个数字时,这才是真实的。

如其他答案中所述,错误是由=>引起的,并且&不是您在此上下文中想要的。但根据@Blckknght的评论,您可能可以通过每次仅比较最大值来简化此操作。另外,去掉括号,因为Python中不需要这些括号

BMI = mass / (height ** 2)    
if BMI < UNDERWEIGHT:
    status = "Underweight"
elif BMI < NORMAL:
    status = "Normal"
elif BMI < OVERWEIGHT:
    status = "Overweight"
else:
    status = "Obese"

您在哪里看到这个错误值得注意的是,如果您对第二个和第三个if语句使用elif,对最后一个if语句使用else,则根本不需要执行任何>=测试。另一个问题是第三次测试中的问题。你可能想考虑摆脱这个问题。我认为OP需要。
if 0 < MyNumber < 2:
BMI = mass / (height ** 2)    
if BMI < UNDERWEIGHT:
    status = "Underweight"
elif BMI < NORMAL:
    status = "Normal"
elif BMI < OVERWEIGHT:
    status = "Overweight"
else:
    status = "Obese"