Python:学习笔记之函数的递归
递归:函数调用自身
递归函数的特点
- 一个函数在内部调用自己
代码特点
- 函数内部的代码是相同的,只是针对参数不同,处理的结果不同
- 当参数满足一个条件是,函数不再执行。通常被称作递归的出口,很重要,否则会出现死循环。
def sum_numbers(num):print(num)# 递归的出口,当参数满足某一个条件时,不再执行函数if num == 1:returnsum_numbers(num-1)sum_numbers(3)
执行结果:
图解上述递归代码:
递归案例 —— 计算数字累加
需求
- 定义一个函数sum_numbers
- 能够接收一个整形的参数
- 计算1+2+···+num的结果
def sum_numbers(num):# 出口if num == 1:return 1# 数字累加# 假设sum_numbers能够正确处理1+2+···+num-1temp = sum_numbers(num - 1)# 核心代码两个数字相加return num + tempprint(sum_numbers(2))
print(sum_numbers(3))
print(sum_numbers(100))
执行结果:
图解上述递归代码:
递归在处理不确定的循环条件的时候非常有用。
例如:遍历整个文件目录的结构
Python:学习笔记之函数的递归相关推荐
- Python学习笔记12_函数
Python学习笔记12_函数 文章目录 Python学习笔记12_函数 1.函数定义 2.函数调用 3.函数的参数 3.1.可更改对象和不可更改对象参数 3.2.必需参数(位置参数) 3.3.关键字 ...
- Python学习笔记:函数(Function)
Python学习笔记:函数(Function) 一.函数基本概念 函数是Python里组织与重用代码最重要的方法.一般来说,如果你期望多次重复相同或相似的代码,写一个可重用的函数可能是值得的.函数通过 ...
- 小甲鱼python003答案_小甲鱼:Python学习笔记003_函数
>>> # 函数 >>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!" ...
- Python学习笔记——一些函数
本文对应头歌上的Python练习:https://www.educoder.net/paths/pn7qklv9 基础知识1: input( )函数 input()函数从控制台获得用户输入,无论用户在 ...
- Python学习笔记系列——函数
今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...
- Python学习笔记:函数
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记 - 探索函数定义和使用
大家好,我是Mr数据杨,你们有没有读过<三国演义>呢?没错,将以这个经典的古代战争史诗为引,来探索Python的诸多神奇之处. 首先来说说函数的重要性.诸葛亮一生献出了不少锦囊妙计,这些计 ...
- Python学习笔记:匿名函数
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python学习笔记三一 函数学习
函数学习 range函数 •生成有序的序列 •生成数字队列可以定制 # range函数案例1 # 生成一个从1到10的数字序列 # range的生成序列的两个面数字是左包括,右不包括(如下所示只包括1 ...
- python学习笔记(四):函数
一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...
最新文章
- mac mysql 5.7.9安装教程_mac系统OS X10.10版本安装最新5.7.9mysql的方法_MySQL
- Linux查看ice版本,Linux下ICE的安装
- 【spring boot】 禁用/关闭数据源/DataSource
- SAP CRM long text harmonization debug
- JavaFX图表(七)之散点图
- drwxrwxrwx_你可能不知道的一些linux文件权限管理方法
- java反射回调函数_java回调函数
- HTTPS加密原理(转)
- sklearn 线性回归_机器学习初级算法(二)——线性回归
- plc编程有哪些方法?
- word如何去掉背景色
- 计算机网络-应用层和传输层协议分析实验(PacketTracer)
- 【MFC】CSplitterWnd 重载限定窗口调整范围
- 【JavaWeb学习】HTML
- 20个月积累10,000+客户诸葛io放行业“连弩”
- 中国好SaaS走进海尔:企业关注重心从纯模式创新回归资源竞争
- 我如何成为高级软件工程师
- R matrix函数详解
- 如何使用华为云快速搭建个人博客
- 证件照怎么改kb大小?这两种方法分分钟解决
热门文章
- 19. 网购秒杀系统架构分析
- 2. node.js 模块管理机制
- 37. 错误与异常处理(1)
- jquery中的尺寸函数width(),height(),innerWidth(),outerWidth()等的用法
- 正则爬取猫眼电影排行榜 待修改版
- 4 个拥有绝佳命令行界面的终端程序
- ubuntu linux 1604 编译安装tesseract-ocr 4.0
- Implement Stack using Queues
- poj 2828 线段树
- 大学校讯通需求调研报告之精华