python
python - 재귀함수
cg0826
2020. 5. 10. 17:22
반응형
재귀함수란 ?
- 함수 안에서 자신을 다시 호출하는 방법입니다.
- 함수 내에서 자신을 다시 호출한 후 함수가 끝나는 이후에는 종료 조건을 붙여주어야 무한루프에 빠지지 않습니다.
def CountDown(n):
if n == 0:
print('완료')
else:
print(n, end=' ')
CountDown(n - 1)
CountDown(5)
출력 결과
5 4 3 2 1 완료
CountDown 함수에 5가 들어간후 if문을 실행합니다. n == 5이기 때문에 else 문을 실행하고,
그 다음 n - 1 을 통해 n는 4가 되고 다시 if문을 거쳐 else 문을 실행하게 됩니다.
이 과정을 반복하다가 n이 0이 될 경우 완료를 출력하고 빠져나오게 됩니다.
예제 2)
def fact(a):
if a== 1: return 1
print(a)
return a * fact(a-1)
result2 = fact(5)
print('5! : ' + str(result2))
출력 결과
5! : 120
예제 3)
def tot(n):
if n == 1:
print('탈출')
return 1
return n + tot(n-1)
result = tot(10)
print('합은' + str(result))
출력 결과
탈출
합은 55
위 예제는 if문을 주었지만 이번 예제는 루프 과정을 반복하다가 n이 1을 만나면 탈출하는 예제입니다.
이번 예제는 위와 동일한 원리입니다.
반응형