2017-04-11 8 views
0

제 자체 제작 코드에 약간의 문제가 있습니다.IDLE에서 NameError 문제 - Python

def even(a, b): 
    f = [] 
    while a <= b: 
     if a % 2 == 0: 
      f.append(a) 
     a = a + 1 
    return f; 

내가 그것을 말한다 쉘에서 호출하는 노력 해요 : 나는 정말 까다로운 문제가 아니라 생각

Traceback (most recent call last): 
File "<pyshell#43>", line 1, in <module> 
even(0,200) 
NameError: name 'even' is not defined. 

하지만, u는 내 어쨌든 도와 드릴까요? 감사합니다. 건배

+0

이 함수를 어떻게 부르시겠습니까? –

+0

다른 곳에서는 문제가 될 가능성이 높습니다. 즉각적인 문제는 없습니다. – SneakyTurtle

+2

IDE에서'실행 '을 클릭 했습니까? IDE에서 코드를 작성한 다음 실행하지 않고 쉘에서 함수를 호출 해 보려고했기 때문에 – Wright

답변

0

두 가지. 당신은 당신의 기능을 정확하게 들여 쓰기를하고 당신의 기능을 어떻게 부르고 있습니까? 다음 코드가 작동합니다.

def even(a, b): 
    f = [] 
    while a <= b: 
     if a % 2 == 0: 
      f.append(a) 
     a = a + 1 
    return f; 

print(even(2,3)) 
#output: [2] 

들여 쓰기와 정의 된 후에도 호출되는 사실을 확인하십시오.

편집 : 당신이 작동했음을 알았습니다. 이제는 함수의 일부분을 다시 정의 할 수 있습니다. 예를 들어 변수 f에 좀 더 기술적 인 이름을 붙이면됩니다. 당신이 당신의 쉘에서 실행하려면

0

, 당신이 원하는 것 :

  1. 쉘에 python를 입력
  2. 후 사용할 수 from <your-code's-filename.py> import even

를 입력하여 파이썬 인터프리터를 시작합니다 시도한 기능 : even(0,200)

그러나 Wright가 제안한 것처럼 IDLE 안에서도 실행할 수 있습니다. .

+0

그래, 고마워. IDLE에서 실행하고 작동했습니다. – user3714215