递归----Python

  #递归不仅仅是学习python中会遇到的一些问题,在学习每一个语言的过程中都会遇到递归。使用递归可以让复杂的循环变得简单。

  递归:程序调用自身的行为

  1、写一个数的阶乘

#递归
def factor(n):
    if n==1 or n==2:
        return n
    else:
        return n*factor(n-1)
print(factor(4))

24

#循环
sum=1
n = int(input('请输入一个数:'))
for i in range(1,n+1):
    sum *=i
print(sum)

24

  2、斐波那契数列问题(也称作兔子繁殖问题,一列数从第三项开始,每一项的值都是前面两项的和,求第n项的值为多少)

#循环
def recur(n):
    a1 = 1
    a2 = 1
    if n<=2:
        return -1
    while n-2>0:
        a3 = a1 + a2
        a1 = a2
        a2 = a3
        n -= 1
    return a2
print(recur(12))

144
#递归 def recur(n): if n==1 or n==2: return 1 else: return recur(n-1)+recur(n-2) print(recur(12))

144

猜你喜欢

转载自www.cnblogs.com/chenprice/p/10111100.html
今日推荐