如何在python中定义函数内的变量

时间:2017-02-23 00:26:20

标签: python-3.x

我收到第27行所说的错误,总数未定义。为了解决这个问题,我将全局添加到第7行和第12行,所以我尝试在第17行添加它,它仍然给我一个错误。知道如何解决这个问题吗?关于我的代码的任何其他提示或信息也非常感谢。我对编码很新。我在使用Python

import math
import sys
print("King's BMI Calculator")


def h():
    global height
    height=float(input("Please enter student's height in inches:"))
    return height

def w():
    global weight
    weight=float(input("Please enter student's weight in pounds:"))
    return weight

def bmi():
    global total
    total=((str(weight) * 703)/(str(height) * str(height)))
    return total

def printbmi():
    print(name + "'s BMI Profile")
    print("Height:", str(height), "inches")
    print("Weight:", str(weight), "lbs")
    print("BMI Index:" + str(float(round(total, 1))))
    return

def main():
    h()
    w()
    printbmi()

while True:
    name = input("Please enter student's name or press 0 to quit:")
    if name == "0":
        break

    main()

1 个答案:

答案 0 :(得分:0)

修改全局变量时需要使用global。只要定义了变量,就不必在读取变量时使用它。

在这种情况下,您无法在任何地方定义总计,因为您的代码会调用wh()以及printbmi(),但似乎没有调用{{1 }},这是您将值存储到bmi()

的唯一位置