递归算法(python),汉诺塔问题,斐波那契数列,一个简单的递归实例,用递归实现阶乘,用递归查看目录及文件

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

目录

    • 定义
    • 代码
      • 汉诺塔问题
      • 斐波那契数列
      • 一个简单的递归实例
      • 用递归实现阶乘
      • 用递归查看目录及文件

定义

是一个函数在执行过程中自己调用自己。

注意:我们要设置递归边界,就是递归的终止条件,如果不设置的话就会进入死循环

代码

汉诺塔问题

#coding= utf-8# 定义一个函数,表示将a的n个盘子借助b搬到c    abc表示三根柱子    Hanoi(移动数,开始柱,中转柱,目标柱)
def Hanoi(n,a,b,c):# 如果只剩下一个盘子,直接将a上的盘子搬去cif n==1:print(a,"-->",c)return 0#将a上的n-1个盘子借助c搬到bHanoi(n-1,a,c,b)print(a,"-->",c)#将b上的n-1个盘子借助a搬到cHanoi(n-1,b,a,c)Hanoi(n=3,a="A",b="B",c="C")

运行结果
在这里插入图片描述

斐波那契数列

#coding= utf-8
def Fibonacci(n):if n == 1 or n == 2:return 1else:# 自己调用自己return Fibonacci(n - 1) + Fibonacci(n - 2)
for i in range(1, 8):print('第%d个数' % i, Fibonacci(i))

运行结果
在这里插入图片描述

一个简单的递归实例

#coding= utf-8# 递归即自己调用自己
num = 0
def a():global numnum +=1print("a被执行了",num,"次")if num<5:a()# 通过递归可以打印c
def b():print('我是b')c()
def c():print('我是c')a()
b()

运行结果
在这里插入图片描述

用递归实现阶乘

#coding= utf-8# 使用递归求阶乘
# (6!=6*5*4*3*2*1)
def factorial(n):if n==1:return nelse:return n*factorial(n-1)print(factorial(6))

运行结果
在这里插入图片描述

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

用递归查看目录及文件

#coding= utf-8import os# 增加一个blank,下一层的目录就会空格显示
def getAllFiles(path,level):filesList = os.listdir(path)# 遍历该文件夹下的所有目录或者文件for file in filesList:filepath = os.path.join(path,file)# 如果是目录,就据需往下找if os.path.isdir(filepath):getAllFiles(filepath,level+1)print("\t"*level+filepath)getAllFiles("F:\Z\zzz",0)

运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python run之后出现>>> runfile(‘F:xxx.py‘, wdir=‘F:xxx‘) 快速干掉它的办法

运行结果 F:\Z\Python\install\Anaconda\envs\admin\python.exe "F:\Z\Python\install\pycharm\installPYcharm\PyCharm 2020.1\plugins\python\helpers\pydev\pydevconsole.py" --modeclient --port58318 PyDev console: starting. >>> runfile(F:/Z/Pyth…

numpy的基本使用 附python代码详细讲解(numpy函数,创建数组,常用属性,索引切片,数组的复制,修改维度,数组的分割、拼接、转置)

目录使用array创建数组使用arange创建数组Numpy中的随机数创建ndarray对象的常用属性其他方式创建数组索引和切片&#xff08;一位数组、二维数组&#xff09;数组的复制修改数组的维度数组的拼接数组的分割数组的转置numpy的函数使用使用array创建数组 # codingutf-8import n…

matplotlib的基本使用 附python代码详细讲解(基本图的绘制、样式、简单函数的使用)

目录一、基本图的绘制1.1直线的绘制1.2折线的绘制1.3散点图的绘制1.4绘制不同颜色的散点图1.5绘制不同颜色的线1.6柱状图1.7饼状图1.8直方图1.9三维图1.10等高线图二、样式2.1基本样式2.2画布分区的使用三、函数3.1简单的一元二次方程3.2三角函数一、基本图的绘制 1.1直线的绘…

算法的时间复杂度(python版容易理解)+常用的时间复杂度、python代码--数据结构

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、算法时间复杂度的应用二、如何计算算法的时间复杂…

python小白如何看报错?实用三步法

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 怎么正确看报错&#xff1f;拿一段代码来说事&#xff1a;…

unittest Module中的常用6种断言方法

unittest Module中的断言方法 方法作用assertEqual(a,b)核实 a bassertNotEqual(a,b)核实 a !bassertTrue(x)核实x为TrueassertFalse(x)核实x为FalseassertIn(item,list)核实item在list里面assertNotIn(item,list)核实item不在list里面

测试必备:单元测试测试类,以帮助匿名管理调查的类为例详解--白盒测试

类的测试与函数的测试相似 测试函数的案例&#xff1a;https://blog.csdn.net/hanhanwanghaha/article/details/107487037 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努…

解决Pycharm文件夹中同级目录导包报错的问题

报错情况&#xff1a;导包报错&#xff0c;但程序仍然可以运行 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0…

外星人入侵游戏--python实战 (附完整代码)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、前提准备二、效果展示三、代码alien_invasion.pys…

测试必备:if条件测试( if-else语句、if-elif-else语句、多个elif代码块、省略else代码块、测试多个条件)

目录if-else语句if-elif-else语句多个elif代码块省略else代码块测试多个条件if-else语句 以买车票为例&#xff0c;儿童身高超过1.5m就需要买全票&#xff0c;我们可以用 if-else语句来演示。设身高为1.6m&#xff0c;超过了1.5&#xff0c;就会输出全票 # coding utf-8"…

python中设置时间格式--模块datetime中日期和时间格式的参数

模块datetime中设置日期和时间格式的实参 实参含义%A本地完整星期名称%a本地简化星期名称%B本地完整的月份名称%b本地简化的月份名称%m(month的首字母)用数字表示的月份&#xff08;0-12&#xff09;%d(day的缩写)用数字表示月份中的一天&#xff08;1-31&#xff09;%Y&#x…

数据分析CSV模块的基本使用(以分析复杂的天气情况为例),附完整的Python代码及csv文件详解---数据可视化

目录一、前提准备二、代码解释2.1分析CSV文件头2.2提取并读取数据2.3绘制气温图表2.4在图表中添加日期&#xff08;datetime模块&#xff09;2.4.1书上源代码2.4.2完善代码2.5覆盖更广的时间2.5.1书上源代码2.5.2完善代码2.6再绘制一个数据系列--添加最低气温数据2.6.1添加最低…

SpringMVC之注解的使用

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 SpringMVC之注解的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、注解的使用Co…

ValueError: invalid literal for int() with base 10:Python报错及其解决办法

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 报错情况 ValueError: invalid literal for int() with b…

数据分析--使用Web API(应用编程接口)以自动请求GitHub网站的特定信息为例爬取数据,附完整的Python代码详解

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xf…

IndexError: list index out of range--Python报错原因及解决办法

报错原因 一、括号里面的索引index超出范围 例如&#xff1a;要查找最后一个明星的名字‘Hannah Quinlivan’&#xff0c;Index输入为4。在Python中&#xff0c;第四个元素的索引为3&#xff0c;因为索引是从0开始的。如果想要找最后一个&#xff0c;但是不知道索引为几的时候…

ERROR: Cannot unpack file C:\Users\admin\AppData\Local\Temp\pip-unpack-yo8pmupp\simple.htm (download

出现报错 出现了这个报错 ERROR: Cannot unpack file C:\Users\admin\AppData\Local\Temp\pip-unpack-yo8pmupp\simple.htm (downloaded from C:\Users\admin\AppData\Local\Temp\pip-req-build-bscsadf5, content-type: text/html); cannot detect archive format ERROR: Ca…

创建数据库python: can‘t open file ‘manage.py‘: [Errno 2] No such file or directory报错

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 在创建数据库时运行代码 python manage.py migrate运行结…

Django的简单介绍及虚拟环境的搭建、创建项目,数据库(Windows版超级详细)--Python web应用程序开发(Python实战)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录Djanggo简介建立虚拟环境(Anaconda终端下)激活虚拟环境…

教你用8行代码将word转换为pdf格式 及 6行代码实现批量将word转换为pdf格式--python实用小技能get起来

目录将word转换为pdf格式安装pywin32上代码运行结果批量实现word转pdf安装docx2pdf上代码运行结果将word转换为pdf格式 安装pywin32 代码&#xff08;Anaconda终端下&#xff09; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsingh…