首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助,编写python BMI calc

需要帮助,编写python BMI calc
EN

Stack Overflow用户
提问于 2016-04-07 05:44:08
回答 4查看 70关注 0票数 1

我对python很陌生,目前正在学习如何正确地使用函数。

代码语言:javascript
复制
h = 1.75
w = 70.5
bmi = float(w / h ** 2)


if bmi < 18.5:
    print('过轻')
elif 18.5 <= bmi < 25:
    print('正常')
elif 25 <= bmi < 28:
    print('过重')
elif 28 <= bmi < 32:
    print('肥胖')
else bmi >= 32:
    print('严重肥胖')

每当我尝试运行这个程序时,我都会遇到这个错误。

代码语言:javascript
复制
File "/Users/frank/Coding/bmimyself.py", line 17
    else bmi >= 32:
           ^
SyntaxError: invalid syntax

我希望任何帮助我的编码错误,我必须做。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-04-07 05:51:25

不能在bmi >= 32语句中应用像else这样的条件。当前面的if/elif语句中没有一个是True时,else语句将处理这种情况,因此它已经与一个隐式条件相关联。

你应该:

代码语言:javascript
复制
if bmi < 18.5:
    print('过轻')
elif 18.5 <= bmi < 25:
    print('正常')
elif 25 <= bmi < 28:
    print('过重')
elif 28 <= bmi < 32:
    print('肥胖')
else:
    print('严重肥胖')

以避免SyntaxError。

票数 0
EN

Stack Overflow用户

发布于 2016-04-07 05:50:24

这句话不是“否则”,而是另一个"elif“。

代码语言:javascript
复制
elif bmi >= 32:
  print 'foo'
else:
  print 'bar'
票数 0
EN

Stack Overflow用户

发布于 2016-04-07 05:50:44

你需要用

代码语言:javascript
复制
elif bmi >= 32:

只有“否则”,你就不能有条件表达式。相反,这意味着如果上述任何一个条件都不满足,那么就这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36467613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档