31.関数での再帰呼び出しの使用
31.1再帰呼び出しの使用
再帰呼び出しとは?
関数で関数自体を呼び出す方法を再帰呼び出しと呼ぶ.
アルゴリズムによれば、再帰呼び出しで実装されるコードは、重複文よりも直感的であることが多い.
def hello():
print('Hello, world!')
hello() #hello 함수 안에서 hello를 재귀호출
hello() #hello 호출
<실행결과>
Hello, world!
Hello, world!
Hello, world!
...(생략)
Traceback (most recent call last):
Hello, world!印刷を続行中、エラーが発生しました.実行したばかりのコードは下図のように表示できます.
hello関数を呼び出すと、hello関数のhello関数を呼び出すコードが再帰的に実行されます.
31.1.1再帰呼び出しでの終了条件の作成
再帰呼び出しを使用するには、終了条件を作成する必要があります.
def hello(count):
if count == 0: # 종료 조건을 만듦. count가 0이면 종료!
return
print('Hello, world!', count)
count -= 1 # count를 1 감소시킨 뒤
hello(count) # 다시 hello에 넣음
hello(5) # hello 함수 호출
<실행 결과>
Hello, world! 5
Hello, world! 4
Hello, world! 3
Hello, world! 2
Hello, world! 1
hello(5)が呼び出されるため、hello関数でcountは5に入ります.その後、ハローワールド!出力5後、countは4に小さくなります.最後にhello関数を再度呼び出します.count=0は、繰り返しを終了するために終了条件を作成します.
以下に示すように、画像として表示します.
Reference
この問題について(31.関数での再帰呼び出しの使用), 我々は、より多くの情報をここで見つけました https://velog.io/@whrudah98/31.-함수-안에서-재귀호출-사용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol