NameError: name 'one' is not defined python 3.4 error

NameError: name 'one' is not defined python 3.4 error

a=str(input("Enter num To Start FunctionOne"))
if(a == '1'):
    one()



elif (a == '2'):
    tow()




def one():
    print('Good')

def tow():
    print('Very Good')

错误

Enter numper To Start FunctionOne1
Traceback (most recent call last):
  File "C:/Users/Hacker/Desktop/complex program.py", line 3, in <module>
    one()
NameError: name 'one' is not defined

Define your functions before using them

Python 是一种解释型语言,因此解释器逐行移动,您正在尝试调用函数 - one() 在它被定义之前,在程序的后面部分。您应该在调用部分之前移动函数定义 -

def one():
    print('Good')

def tow():
    print('Very Good')

a=str(input("Enter num To Start FunctionOne"))
if(a == '1'):
    one()

elif (a == '2'):
    tow()

您需要在调用之前定义函数:

def one():
    print('Good')

def tow():
    print('Very Good')

a=str(input("Enter num To Start FunctionOne"))
if(a == '1'):
    one()



elif (a == '2'):
    tow()

如果您调用了一个函数,但该函数是在它下面定义的,那么它将无法工作,因为 Python 还不知道该函数调用应该做什么。

Python 逐行读取脚本,所以当它到达 one() 函数调用时,它会抛出错误,因为尚未定义。

除了函数定义之外,不要在脚本中放置任何指令。然后在底部的子句中调用主函数。这让解释器在尝试调用它之前看到定义的所有内容:

def main():
    a = input("Enter num To Start FunctionOne")
    if a == '1':
        one()
    elif a == '2':
        two()

def one():
    print('Good')

def two():
    print('Very Good')

if __name__ == '__main__':
    main()