Algorithm: Base case and Recursi

2017-09-24  本文已影响18人  yingshaoxo

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.

上一篇下一篇

猜你喜欢

热点阅读