为python

时间:2016-02-17 03:08:20

标签: python

我遇到了一个分配问题,我刚刚介绍过模块,所以我还没有完成任务,但这是我目前的代码。

def main():
    weightlb = float(input("Enter your weight in pounds: "))
    heightin = float(input("Enter your height in inches: "))`

main()

def calcBMI():

   bmi = weightlb * 703/ heightin **2

print("Your BMI is", bmi)
calcBMI()

每次我尝试运行此程序时都会遇到此错误

  

追踪(最近一次通话):     文件“C:/Users/BradH/AppData/Local/Programs/Python/Python35-32/test.py”,第10行,in       calcBMI()     在calcBMI中输入文件“C:/Users/BradH/AppData/Local/Programs/Python/Python35-32/test.py”,第7行       bmi = weightlb * 703 / heightin ** 2   NameError:名称'weightlb'未定义`

对于我必须提出的编码错误,我将不胜感激

2 个答案:

答案 0 :(得分:1)

Python中的变量具有所谓的范围。在基本级别,它们仅在函数调用中持续。因此,一旦主要返回,就不再定义weightlb。

这看起来是一个相当不错的入门书:http://python-textbok.readthedocs.org/en/latest/Variables_and_Scope.html

答案 1 :(得分:-1)

你的代码应该是这样的:

{{1}}