递归算法(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)
运行结果
递归算法(python),汉诺塔问题,斐波那契数列,一个简单的递归实例,用递归实现阶乘,用递归查看目录及文件相关推荐
- python编写递归函数、求斐波那契数列第n项_Python非递归算法求解Fibonacci斐波那契数列...
斐波那契数列递归数学定义如下:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*) Python代码: 函数f(n),输入非负整数n,返回f[n] def f(n): a, ...
- python编写递归函数、求斐波那契数列第n项_40.细说递归之二:Python求解斐波那契数列...
本篇通过青蛙跳台阶.兔子数列(斐波那契数列)问题进一步理解递归思想的魅力. 上一篇最后的题目如下: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个n级的台阶总共有多少种跳法? 归纳 ...
- python编写递归函数、求斐波那契数列_利用Python实现斐波那契数列的方法实例
今天我们来使用Python实现递归算法求指定位数的斐波那契数列 首先我们得知道斐波那契数列是什么? 斐波那契数列又叫兔子数列 斐波那契数列就是一个数列从第三项开始第三项的值是第一项和第二项的和依次类推 ...
- python显示1000以内的斐波拉契数列_python实现斐波那契数列
首先想到的是用递归来解决 求100内的斐波那契数列: def diGui(num=100): a,b = 0,1 # 为了方便看打印,我就用list存一下 lit = [] while a < ...
- python兔子繁殖问题中如何输出相应月份的数列_斐波那契数列介绍及Python中五种方法斐波那契数列...
Q:斐波那契数列为何那么重要,全部关于数学的书几乎都会提到? A:由于斐波那契数列在数学和生活以及天然界中都很是有用.html 1. 斐波那契数列 概念引入 斐波那契数列(Fibonacci sequ ...
- python程序题斐波那契数列通项公式,Python斐波那契数列应用,编程练习题实例六...
python斐波那契数列,本文是关于Python编程练习题和答案实例六,斐波那契数列应用的示例.引用百度关于斐波那契数列的介绍,大家先简单来的了解下,什么是斐波那契数列? 斐波那契数列(Fibonac ...
- python编写递归函数、求斐波那契数列第n项_用Python实现求Fibonacci数列的第n项
1. 背景--Fabonacci数列的介绍(摘自百度百科): 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacc ...
- 斐波那契数列介绍及Python中五种方法斐波那契数列
Q:斐波那契数列为什么那么重要,所有关于数学的书几乎都会提到? A:因为斐波那契数列在数学和生活以及自然界中都非常有用. 1. 斐波那契数列 概念引入 斐波那契数列(Fibonacci sequenc ...
- python leetcode 爬楼梯问题 斐波那契数列
爬楼梯 问题描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: ...
- Python案例:格式化输出斐波拉契数列
文章目录 一.提出任务 二.运行效果 三.实现步骤 1.定义fib(n)函数 2.采用format()函数实现格式化输出 3.采用repr()与rjust()函数实现格式化输出 4.运行程序,查看效果 ...
最新文章
- SAP WM初阶之IM层面货物移动后WM层面自动完成TO创建和确认
- oracle apex接口文件,Oracle之APEX深入开发指南
- IDEA 2020 本土化,真的是全中文了,新手,开心了!
- 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务
- 在Serverless Kubernetes集群中轻松运行Argo Workflow
- 静态作用域与动态作用域的区别(转)
- HTML(XHTML)基础知识(三)——【image】
- iview使用之怎样通过render函数在table组件表头添加图标及判断多个状态
- 初窥Python(一)——使用pymongo连接MongoDB
- 手机投屏不是全屏怎么办_手机投屏怎么满屏
- Zemax仿真中像质评价及方法
- 安装ipython_linux安装IPython四种方法
- 北京理工计算机实验二报告,北京理工大学实验二实验报告表
- 【Go实战基础】程序里面数据是如何显示到浏览器当中的
- 天龙八部八部显示服务器堵塞,天龙八部服务端各目录说明
- 携程帐号变更函(对私)
- 图表和文字等元素在电子大屏下变形的解决方案
- npoi导出文件不保存在服务器,winform NPOI excel 导出并选择保存文件路径
- 陈冠希传 转载,奇文共欣赏
- STM32的USART串口通信
热门文章
- 从mysql到大数据(三)--mysql数据库建模一常用数据类型及引擎
- matlab信号内插,基于VC++和Matlab的数字信号内插处理系统
- java 数字组合_java解决数字组合问题
- 商品领域ddd_为 Gopher 打造 DDD 系列:领域模型-资源库
- css3 下边框缓缓划过_干货来袭!web前端开发工程师必看之如何使用CSS3实现瀑布流效果?...
- Spring Cloud —— Gateway 服务网关
- 如何检测服务器运行正常运行,一种检测服务器运行状态的方法、装置和系统专利_专利查询 - 天眼查...
- 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...
- 世界手机号码格式_脑炎康复之旅——世界脑炎日病友征文
- wxpython 调用子窗口_wxpython入门第一步(简单例子)