【Python】三元表达式和递归

文章目录

三元表达式

目的:把简单的if判断写成一行。
语法:结果1 if 条件 else 结果2 (判断条件是否为真,如果真,返回结果1,否则返回结果2)

a = input('input an int>>>')
b = input('input another int>>>')
r = a if a > b else b
print(r)

结果如下:
在这里插入图片描述

递归

本质: 函数自己调用自己

import sys

print(sys.getrecursionlimit())  # python最大的递归深度默认是1000
sys.setrecursionlimit(3000)    # 修改最大递归深度,超过会报错

def func():
    print('I love you!')
    func()

func()

递归可以完美的遍历一个文件夹,代码如下:

import os
def read(path, level):     # path是文件夹路径
    lst = os.listdir(path)      # 用来遍历该文件夹
    for name in lst:
        # 需要拼接出正确的文件路径
        real_path = os.path.join(path, name)
        if os.path.isdir(real_path):
            # 判断是文件夹,进入递归
            print('-'*level, name)
            read(real_path, level+1)
        else:
            # 判断是普通文件,直接打印
            print('-'*level, name)

read('./recursion', 1)

结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值