2015-06-19 1 views
-2
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') 

ОшибкаNameError: название 'один' не определен питон 3.4 Ошибка

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 
+1

Я рекомендовал бы фиксируя опечаток, даже если они последовательны, как 'tow', а не' two', потому что в конце концов вы будете пытаться получить к нему доступ с «двумя», и это будет неправильно. Это особенно верно, если кто-либо еще должен работать с вашим кодом. – TigerhawkT3

ответ

2

Вы должны определить функции, прежде чем называть их:

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() 

При вызове функции, но функция определена ниже него, то он выиграл» t, потому что Python еще не знает, что должен делать этот вызов функции.

1

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() 
0

Python читает сценарий по строкам, поэтому, когда он достигает вызова функции one(), он выдает ошибку, поскольку еще не определен.

1

Не указывайте никаких инструкций в скрипте, кроме определений функций. Затем вызовите главную функцию в разделе внизу. Это позволяет переводчику видеть все определено, прежде чем пытаться назвать:

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() 

 Смежные вопросы

  • Нет связанных вопросов^_^