递归算法(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…

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;…

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

类的测试与函数的测试相似 测试函数的案例&#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"…

数据分析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添加最低…

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…

用Python高效地将 多个excel表快速汇总成一个excel表--python办公实用小技能分享

相信很多友友们都遇到一个同样的问题&#xff0c;就是将多个excel表汇总成一个表效率极低&#xff0c;不止如此&#xff0c;还要看有没有复制错。在学校担任多种职务的我总是要汇总很多个表格&#xff0c;早就用python来想解决这个问题&#xff0c;经过借鉴网上的多位大咖的代码…

教你如何使用 Python 将 pdf 文档进行 加密 解密——python实用小技能分享

上次说了怎么将word转换为pdf格式 及 实现批量将word转换为pdf格式&#xff08;点击这里&#xff09;&#xff0c;这次我又get到一个新技能–使用 Python 将 pdf 文档进行 加密 解密&#xff0c;哈哈哈 希望帮到更多人&#xff01; 在Anaconda终端下输入代码 pip install --u…

简历避免采坑总结——为什么你的简历杳无音信?程序员的简历该怎么写?看这一篇就够了!毕业生快进 (待更新)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 这段时间熬夜看很多位程序员大佬的简历&#xff0c;也看了…

Git最新版下载(安装包)——阿里镜像快速下载

官网下载 https://git-scm.com/downloads 但是官网下载太慢了&#xff0c;我估计我这网络肯定得下载好几天呢&#xff0c;可能大家也是&#xff0c;于是我找到阿里镜像 下载最新版的Git&#xff0c;利用阿里镜像会下载的很快 https://npm.taobao.org/mirrors/git-for-windows…