美文网首页
Algorithm: Base case and Recursi

Algorithm: Base case and Recursi

作者: yingshaoxo | 来源:发表于2017-09-24 14:07 被阅读18次

    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.

    相关文章

      网友评论

          本文标题:Algorithm: Base case and Recursi

          本文链接:https://www.haomeiwen.com/subject/btifcxtx.html