python递归函数

# author:wsm805@qq.com
# create:2019/9/9 11:11

"""递归函数:
函数自己调用自己,必须设置明确的出口,慎用"""

import sys

# 获得最大递归深度
sys.getrecursionlimit()
# 设置递归深度
sys.setrecursionlimit(5000)

# 1.求阶乘
# 5! = 5*4*3*2*1
#
# #for循环实现
# def jiec(n):
#     sum = 1
#     for i in range(1,n+1):
#         sum *= i
#     return sum
#
# y = jiec(5)
# print(y)

# 递归
def func1(n):
    if n == 1:
        return 1
    elif n > 1:
        return n * func1(n - 1)
print(func1(5))


# 2.斐波那契数列
# 1 1 2 3 5 8 13 21 34 55。。。
def func2(n):
    if n < 3:
        return 1
    else:
        return func2(n-2)+func2(n-1)
print(func2(7))


# 获取路径下的目录及文件名
import os
def get_all(path=r"D:/"):
    if not os.path.exists(path):
        print("路径错误!")
    else:
        # 获取路径下的文件及目录
        list1 = os.listdir(path)
        # print(list1)
        for i in list1:
            new_path = os.path.join(path, i)
            # 是文件,打印
            if os.path.isfile(new_path):
                print(new_path)
            # 是目录,再次调用该函数,再判断文件/目录、决定是否调用自己
            else:
                get_all(new_path)
# get_all()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值