我在使用函数的Python程序中做错了什么?

时间:2017-07-24 01:36:52

标签: python function

让我先说一下我是Python编程的新手。抱歉打扰任何人可能有一些微不足道的问题。但是我正在创建一个程序来计算用户的BMI并显示他们的信息以及他们计算的BMI。我必须为以下内容创建一个函数: 1. BMI计算 2.检索用户的体重 3.检索用户的身高 4.显示用户的体重,身高和计算的BMI

这是我的代码: BMI Calculator Code

以下是我的结果: Code Results

我也应该显示计算结果,但我一次只做一步,确保我至少可以先输入未输入的输入。我很困惑,不知道该怎么做才能解决它。任何反馈都表示赞赏。感谢。

2 个答案:

答案 0 :(得分:2)

使用return

您在函数中的输入不会向主代码中的whname返回任何值。

所以,功能必须是

def get_weight():
    return int(input('message'))

return将值传递给调用者,现在w可以获取get_weight函数返回的值

w = get_weight()

答案 1 :(得分:2)

问题&溶液

您正在正确地获取用户输入,但您需要实际return函数的用户输入,以便在函数外部访问该值。目前在您的代码中,您只是获取用户输入,将其转换为整数,并立即丢弃这些值,让它们被垃圾收集。

要从函数返回值,请使用return关键字:

def get_weight():
    return int(input(...))

def get_height():
    return int(input(...))

改进

除上述解决方案外,您还可以对代码进行一些改进:

  • 关注PEP8。在参数之间放置空格,在源文件末尾添加换行符。
  • 对显示的文本周围的空格使用换行符,而不是对print的额外调用。例如,使用:

    print('\nBMI calculator\n')
    

    而不是:

    print()
    print('BMI calculator')
    print()