2014-12-04 2 views
-2

필자는 함수에 둘 이상의 목록을 전달해야하는 프로그램을 만들려고합니다. 그러나 내가 전달한 함수의 각 목록을 반환하면 'none'으로 표시됩니다. 이것은 내 목록 중 하나가 전달 된 방법에 대한 코드입니다.함수에 전달할 때 내 목록이 모두 표시되지 않는 이유는 무엇입니까?

def somelist(magslist): 
    return magslist 

def main(): 
    alist = [] 
    for i in range(5): 
     alist.append(i) 
    somelist(alist) 

main() 
+6

가 어떻게 그들이 없음있어 없음을 알 수 있습니까? 어디서나 진술서가 보이지 않습니다. – Kevin

+0

당신의'somelist' 메쏘드는 인자를 반환하는데, 본질적으로 아무 것도하지 않습니다 ... –

+0

@FarmerJoe 저는 이것이 빠르고 더러운 테스트라고 생각합니다. 오류는 main() – kdopen

답변

-1

somelist() 함수는 정상입니다. 문제는 main()이 somelist()를 호출 한 후에 아무 것도 반환하지 않는다는 것입니다.

(당신이하는 것처럼) 말에서 떨어지는 또는 일반 '리턴'문이 실제로 없음을

변경

return somelist(alist) 

에) (주의 마지막 행을 반환하지 않습니다와 중 종료 함수 REPL에 없다면 main()에 대한 호출 결과를 출력하여 반환 결과를 확인해야합니다.

def somelist(magslist): 
    return magslist 

def main(): 
    alist = [] 
    for i in range(5): 
     alist.append(i) 
    print somelist(alist) # print it here only, for python3 use print with brackets 

main() 

또는 :

+0

그것도 작동하지 않습니다 – Hackaholic

+0

나를 위해 작동합니다. main()에 대한 모듈 수준 호출을 포함하여 OP 코드를 가져옵니다. 내가 말한 것처럼 (그리고 두 번째 예제에서했던 것처럼) main()의 마지막 줄을 변경하십시오. test.py에 모든 것을 넣고 'python test.py'를 실행하십시오. 화면에 '[0,1,2,3,4]'가 표시되어 있음을 나타냅니다. – kdopen

+0

나쁜 점 - REPL에서 너무 많은 시간을 보냅니다. 인터프리터가 다르게 작동한다는 것을 잊어 버렸고 실제로 main() 결과를 인쇄하지 않습니다. – kdopen

1

이 시도

def somelist(magslist): 
    return magslist 

def main(): 
    alist = [] 
    for i in range(5): 
     alist.append(i) 
    return somelist(alist) 

my_list = main() # my_list will save the list return my main function 
print my_list 

당신이 somelist 기능 필요 없어요 :

def main(): 
    alist = [] 
    for i in range(5): 
     alist.append(i) 
     return alist   # return alist directly 

my_list = main() # my_list will save the list return my main function 
print my_list 
+0

예, OP *에 somelist()가 필요합니다. 그들은 다음과 같이 말합니다. "나는 하나 이상의 목록을 함수에 전달해야하는 프로그램을 만들고자합니다." 소 믈리스트는리스트를 통과 한 함수 임 – kdopen

+0

@ kdopen 만약 Op가 첫번째 두가지를 따를 수있는 기능을 필요로한다면 – Hackaholic

+0

"If가 함수를 필요로 할 때"의 "If"는 어디에서 왔습니까? 그들이 말했듯이, 그것은 그들이 배우려고하는 가장 중요한 것입니다. 마지막 예제는 목록을 * anything * (alist.append() 호출에서 * self *로 암시 적으로 제외)으로 전달하지 않습니다. – kdopen

관련 문제