首页IT科技python递归函数详解(Python 函数递归教程)

python递归函数详解(Python 函数递归教程)

时间2025-07-22 07:03:18分类IT科技浏览4417
导读:1.什么是函数递归 函数的嵌套调用:一个函数里面又写了一个函数。...

1.什么是函数递归

函数的嵌套调用:一个函数里面又写了一个函数             。

函数的递归调用:他是一种特殊的嵌套调用             ,他也是在函数里面调用函数                   ,但是他在函数体内调用的函数时他自己本身                   。

如果递归函数不断的在函数体内调用函数自己本身       ,如果我们不给终止条件来结束程序运行的话      ,程序就会进入死循环                   ,那这个时候程序运行将会报错             ,因此我们应该给递归函数一个明确的结束条件       。

def foo(): print(from foo) foo() foo() # 此时程序会进入死循环

2.直接调用

直接调用指的是:直接在函数内部调用函数自身      。

1.利用传参的方式来计算n个人后的第n个人的年龄

2.用到变量作用域的知识点(global             、可变数据类型                   、) ls = [16] def func(n): if n == 0: return ls[0] res = func(n-1)+2 return res print(func(5))

3.间接调用

间接调用指的是:不在原函数体内调用函数自身      ,而是通过其他的方法间接调用函数自身                   。

def name(): print(hello,xichen) age(20) def age(n): print(my name is ,n) name() print(name()) print(age(20))

4.递归需要注意

递:一层一层的递归调用                   ,每一次进行下一次的递归的时候问题的规模都必须是在减小的

归:必须要又一个明确的结束条件             ,在满足该条件开始一层一层回溯             。

在不断的重复过程之后,可以得到一个最终的结果

列题 给定一个只包括 (                   ,)                   ,{,}             ,[                   ,] 的字符串       ,判断字符串是否有效      。

有效字符串需满足:左括号必须用相同类型的右括号闭合                   。

左括号必须以正确的顺序闭合             。注意空字符串可被认为是有效字符串。

示例 1: 示例 2: 示例 3: 示例 4: 示例 5:

输入: "()" 输入: "()[]{} 输入: "(]" 输入: "([)]" 输入: "{[]}"

输出: true "输出: true 输出: false 输出: false 输出: True

# Python学习交流QQ群:153708845 def isValid(s: str) -> bool: print(s) # s = if not s: # 判断s是否为空 return True if s.find([]) != -1 or s.find({}) != -1 or s.find(()) != -1: # 证明s里面有 ()/[]/{} if {} in s: s = s.replace({}, ) if [] in s: s = s.replace([], ) if () in s: s = s.replace((), ) if s == : # s = [] return True res = isValid(s) print(res:,res) if not res: return False else: return False return True res = isValid(s) print(res)

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
区块链如何做产品的溯源(基于区块链/Hyperledger Fabric的商品交易溯源系统搭建步骤)