首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NameError:未定义名称“bmi_calculator”

NameError:未定义名称“bmi_calculator”
EN

Stack Overflow用户
提问于 2021-05-09 08:03:38
回答 1查看 158关注 0票数 0

我正在尝试做一个bmi计算器,但我得到了一个NameError问题,即使我已经定义了bmi计算器。我的代码是这样的:

代码语言:javascript
复制
name1 = 'Person1'
height1_m = 1.7
weight1_kg = 54

name2 = 'Person2'
height2_m = 2
weight2_kg = 70

name3 = 'Person3'
height3_m = 1
weight3_kg = 1000

def bmi_calculator(name, height_m, weight_kg):
    bmi = weight_kg / (height_m ** 2)
    print(name + "'s bmi is: " + bmi)
    if bmi > 25
        print(name + 'is overweight')
    else
        print(name + 'is not overweight')

result1 = bmi_calculator(name1, height1_m, weight1_kg)
result2 = bmi_calculator(name2, height2_m, weight2_kg)
result3 = bmi_calculator(name3, height3_m, weight3_kg)

NameError                                 Traceback (most recent call last)
<ipython-input-10-31aab3e09e71> in <module>
----> 1 result1 = bmi_calculator(name1, height1_m, weight1_kg)
      2 result2 = bmi_calculator(name2, height2_m, weight2_kg)
      3 result3 = bmi_calculator(name3, height3_m, weight3_kg)

NameError: name 'bmi_calculator' is not defined
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-09 08:10:29

第一个问题是,如果需要和 of ,则冒号()位于的末尾。

第二个问题是,您试图隐式地将float转换为str。

这样做是可行的:

代码语言:javascript
复制
name1 = 'Person1'
height1_m = 1.7
weight1_kg = 54

name2 = 'Person2'
height2_m = 2
weight2_kg = 70

name3 = 'Person3'
height3_m = 1
weight3_kg = 1000

def bmi_calculator(name, height_m, weight_kg):
    bmi = weight_kg / (height_m ** 2)
    print(str(name) + "'s bmi is: " + str(bmi))
    if bmi > 25:
        print(name + 'is overweight')
    else:
        print(name + 'is not overweight')

result1 = bmi_calculator(name1, height1_m, weight1_kg)
result2 = bmi_calculator(name2, height2_m, weight2_kg)
result3 = bmi_calculator(name3, height3_m, weight3_kg)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67455500

复制
相关文章

相似问题

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