python中的递归问题

一. python中的递归问题

递归是一种编程思想,应用场景:

  • 在我们日常开发中,如果要遍历一个文件夹下面所有的文件,通常会使用递归来实现;
  • 在后续的算法课程中,很多算法都离不开递归,例如:快速排序。

递归的特点

  • 函数内部自己调用自己
  • 必须有出口(没有出口就会进入死循环)

简单的一个递归的案例

python 复制代码
# 3 + 2 + 1
def sum_numbers(num):
    if num == 1:
        return 1  # 函数的出口
    return num + sum_numbers(num-1)


sum_result = sum_numbers(3)
# 输出结果为6
print(sum_result)

过程图示

相关推荐
步菲42 分钟前
springboot canche 无法避免Null key错误, Null key returned for cache operation
java·开发语言·spring boot
94621931zyn61 小时前
关于应用 - Cordova 与 OpenHarmony 混合开发实战
笔记·python
知远同学6 小时前
Anaconda的安装使用(为python管理虚拟环境)
开发语言·python
小徐Chao努力6 小时前
【Langchain4j-Java AI开发】09-Agent智能体工作流
java·开发语言·人工智能
Blossom.1186 小时前
AI编译器实战:从零手写算子融合与自动调度系统
人工智能·python·深度学习·机器学习·flask·transformer·tornado
CoderCodingNo6 小时前
【GESP】C++五级真题(贪心和剪枝思想) luogu-B3930 [GESP202312 五级] 烹饪问题
开发语言·c++·剪枝
kylezhao20196 小时前
第1章:第一节 开发环境搭建(工控场景最优配置)
开发语言·c#
啃火龙果的兔子6 小时前
JavaScript 中的 Symbol 特性详解
开发语言·javascript·ecmascript
热爱专研AI的学妹7 小时前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
Mr_Chenph7 小时前
Miniconda3在Windows11上和本地Python共生
开发语言·python·miniconda3