Algorithm: Base case and Recursive case

Because a recursive function calls itself, it's easy to write a function incorrectly that ends up in an infinite loop.

For example, suppose you want to write a function that prints a countdown, like this: 3...2...1.
Write out that code and run it. You'll notice a problem: this function will fun forever: 3...2...1...0...-1...-2...

When you write a recursive function, you have to tell it when to stop recursing. That's why every recusive function has two parts: the base case, and the recursive case. The recursive case is when the function calls itself. The base case is when the function doesn't call itself again ... so it doesn't go into an infinite loop.

Let's add a base case to the countdown function:

def count_down(i):
    print(i)
    if i <= 0:
        return
    else:
        count_down(i-1)

Now the function works as expected from i to 0.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容