首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中学专题3 q 6

中学专题3 q 6
EN

Stack Overflow用户
提问于 2012-01-19 01:05:55
回答 4查看 1.3K关注 0票数 0

我想解决这个问题:

http://www.pyschools.com/quiz/view_question/s3-q6

使用“if/elif/elif”条件来编写一个函数来计算一个人的体重指数,并返回与心血管疾病相关的风险。

体重指数=体重(公斤)/(身高(米)*身高(米))

BMI风险

27.5及以上高风险

23-27.4中度风险

18.5 - 22.9低风险

营养不足疾病的风险低于18.5

示例

HealthScreen(85,1.75)

“你的BMI是27.8 (高风险)。”

HealthScreen(68,1.65)

“你的BMI是25.0 (中度风险)。”

HealthScreen(60,1.63)

“你的BMI是22.6 (低风险)。”

HealthScreen(40,1.58)

“你的体重指数是16.0 (营养不良疾病的风险)。”

但是,我在这段代码中失败了私有测试用例

代码语言:javascript
复制
def HealthScreen(weight, height):
    bmi = round(weight/(float(height)*height),1)
    retv = "Your BMI is " +str(bmi)
    if bmi >= 25.5:
        retv += " (High Risk)."
    elif bmi >=23 and bmi <=27.4:
        retv += " (Moderate Risk)."
    elif bmi >= 18.5 and bmi <=22.9:
        retv += " (Low Risk)."
    elif bmi <18.5:
        retv += " (Risk of nutritional deficiency diseases)."
    return retv

我知道代码不是很漂亮,但是它经过了大量的尝试和错误。我考虑添加代码来检查给定数字中的任何一个是否为零,但仍然失败。

我没看到什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-19 01:27:55

代码语言:javascript
复制
if bmi >= 25.5:
    retv += " (High Risk)."

您指定了>= 25.5,但在说明中指定了BMI超过27.5的高风险

票数 3
EN

Stack Overflow用户

发布于 2012-01-19 01:29:30

代码语言:javascript
复制
if bmi >= 25.5:

应该是

代码语言:javascript
复制
if bmi >= 27.5:
票数 0
EN

Stack Overflow用户

发布于 2012-02-03 02:39:48

以下是答案:

代码语言:javascript
复制
def BMI(weight, height): 
BMI = round(weight/(float(height)*height),1)
return "%.1f" %BMI
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8919809

复制
相关文章

相似问题

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