def counter(n):
if n < 0:
return
else:
print '1st print', n
counter(n-1)
print '2nd print', n
print counter(3)
# 1st print 3
# 1st print 2
# 1st print 1
# 1st print 0
# 2nd print 0
# 2nd print 1
# 2nd print 2
# 2nd print 3
# None
그래서 재귀 함수를 둘러 보면서 아주 특이한 것을 깨달았습니다. 주위에 머리를 감쌀 수 없었습니다. 3에서 0으로 인쇄하는 함수의 첫 번째 부분은 이해하지만 두 번째 부분은 0에서 3으로 다시 인쇄 할 때 이해할 수 없습니다. n = 0 일 때 함수가 멈추지 않을까요?파이썬 : 재귀
재귀 전에 한 번, * 후에 * 한번 두 번'n '을 인쇄합니다. 모든 재귀 호출이 완료되면 재귀 호출을 대기하는 모든 메소드가 'n'을 다시 인쇄합니다 (반대 순서로). 펜과 종이로 직접 실행 해보십시오. –
이것은 파이썬입니다. 코드를 작성하려고하면 모든 것을 망칠 수 있습니다. 방금 편집했습니다. –
@AbdulFatir 들여 쓰기 수정 해 주셔서 감사합니다. 그러나 Commonwealth English ("실현 됨")는 완벽하게 수용 할 수 있으므로 편집해서는 안됩니다. – chrylis