2012-06-22 2 views
0

내 코드를 압축하기 위해 while 루프 중 하나를 함수로 만들기 위해 노력하고 있습니다. 여러 번 시도해 본 결과 아직 컴파일 할 때 동일한 결과를 얻지 못했습니다.while 루프를 함수로 변환 하시겠습니까? Python

다음은 while 루프입니다 :

while True: 
    i = find_lowest_i(logs) 
    if i == -1: 
     break 
    print "i=", i 
    tpl = logs[i].pop(0) 
    print tpl 
    out.append(tpl) 
    print out 

그리고 여기 내 기능을 위해 지금까지이 작업은 다음과 같습니다 사전에

def mergesort(list_of_logs): 
    i = find_lowest_i(logs) 
    out = [] 
    while True: 
     if i == -1: 
      break 
     print "i=", i 
     tpl = logs[i].pop(0) 
     print tpl 
     out.append(tpl) 
     print out 
    return out 

감사합니다. 이 장소는 초보 프로그래머에게 안전한 장소입니다.

답변

0

함수의 매개 변수가 list_of_logs 인 것처럼 보입니다. 함수 몸에는 여전히 logs이 사용됩니다. 가장 간단한 해결 방법은 mergesort에서 list_of_logs까지 logs으로 매개 변수의 이름을 바꾸는 것입니다. 그렇지 않으면, 내게 완전히 똑같아 보인다.

+0

고마워요! 나는 그것을 잡지 못했다고 믿을 수 없다. – Raj

관련 문제