반응형
재귀함수란 ?
- 함수 안에서 자신을 다시 호출하는 방법입니다.
- 함수 내에서 자신을 다시 호출한 후 함수가 끝나는 이후에는 종료 조건을 붙여주어야 무한루프에 빠지지 않습니다.
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을 만나면 탈출하는 예제입니다.
이번 예제는 위와 동일한 원리입니다.
반응형
'python' 카테고리의 다른 글
python - 상속 (0) | 2020.05.10 |
---|---|
python - 클래스 (0) | 2020.05.10 |
python - 함수 장식자 ( Decorator ) (0) | 2020.05.10 |
python - 파이썬은 1급 함수인가 ? (0) | 2020.05.08 |
python - 가변인수 (0) | 2020.05.08 |