概念
函数调用自身的行为。在函数内部可以调用所有可见的函数,当然也包括它自身。
示例
#斐波那契数列——迭代
def Fib(num):
a = 1
b = 1
c = 0
i = 3
if num < 1:
result = "您输入的整数错误,请重新输入!"
elif num == 1 or num == 2:
result = 1
else:
while i <= num:
i += 1
result = a + b
a = b
b = result
return result
num = int(input("请输入一个整数:"))
result = Fib(num)
print('result = %d' % result)
# 斐波那契数列——递归
def Fib(num):
if num < 1:
result = "您输入的证整数错误,请重新输入!"
return result
elif num == 1 or num == 2:
result = 1
return result
else:
result = Fib(num - 1) + Fib(num - 2)
return result
num = int(input("请输入一个整数:"))
result = Fib(num)
print('result = %d' % result)
注意事项
1.不是所有迭代都可以用递归实现,递归在每次调用函数时都需要进行一系列的栈操作,非常消耗时间和空间。
2.需要正确设置中止条件。