이번엔 반대로 n부터 1까지 출력하는 문제이다.
1901문제랑 다른점은 print(n)
의 위치인데 여기에서는 다른 함수를 호출하기 전 print(n)
을 작성해주었다.
현재 들어온 n값을 먼저 출력하고 다른 함수를 호출하기 때문에 n부터 1까지 순서대로 값이 출력된다. 그리고 호출 한 지점에서부터 다음 코드는 어떤 행위(?)를 하는 코드가 없기때문에 호출만 될 뿐 값은 출력하지 않는다.
이번에도 return
되는 지점을 알고 싶어 명시적으로 작성했다. return
을 적지 않아도 본래 함수 맨 마지막에는 return
이 들어가있다.
def top_down(n):
print(f'f({n})', end=' ')
print(n)
if n != 1:
top_down(n-1)
print(f'f({n})')
top_down(5)
👉🏽
f(5) 5
f(4) 4
f(3) 3
f(2) 2
f(1) 1
f(1)
f(2)
f(3)
f(4)
f(5)