Python入门之递归应用:阶乘与斐波拉契数列

一、阶乘

借助Python中函数递归的思想,返回某个数的阶乘值。

程序代码实现

以返回4的阶乘结果为例:

# 函数的递归返回阶乘的结果
# 递归一个很常见的例子是斐波拉契数列
def recur_fac(n):
    if n==1:
        return 1
    return n*recur_fac(n-1)

result=recur_fac(4)
print(result)

程序运行结果展示:

24

进程已结束,退出代码为 0

二、斐波拉数列

借助Python函数递归的思想,返回相应的斐波拉契数列的列表。

程序代码实现:

#递归:斐波拉契数列(1,1,2,3,5,8,13,21...)
def fibonacci_seq(n):
    if n==1 or n==2:
        return 1
    return fibonacci_seq(n-1)+fibonacci_seq(n-2)
n=int(input('输入n值:'))
a=[]
for i in range(1,n+1):
    result=fibonacci_seq(i)
    a.append(result)
print(a)

程序运行结果展示:

输入n值:5
[1, 1, 2, 3, 5]

进程已结束,退出代码为 0

ps:输入的n值实际上是输出斐波那契数列列表的元素个数。

你可能感兴趣的:(python,numpy,开发语言,算法,数据结构)