python实现斐波那契递归函数的方法
本文以一个简单的实例讲述了python实现斐波那契数列数列递归函数的方法,代码精简易懂。分享给大家供大家参考之用。
主要函数代码如下:
def fab(n): if n==1: return 1 if n==0: return 0 else: result=int(fab(n-1))+int(fab(n-2)) return result
测试代码如下:
for i in range(10): print fab(i)
希望本文所述对大家Python程序设计的学习有所帮助。
相关推荐
-
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
利用python实现的汉诺塔.带有图形演示 复制代码 代码如下: from time import sleep def disp_sym(num, sym): print(sym*num, end='') #recusiondef hanoi(a, b, c, n, tray_num): if n == 1: move_tray(a, c) disp(tray_num) sleep(0.7) else: hanoi(a, c, b, n-1, tray_num) move
-
python实现汉诺塔递归算法经典案例
学到递归的时候有个汉诺塔的练习,汉诺塔应该是学习计算机递归算法的经典入门案例了,所以本人觉得可以写篇博客来表达一下自己的见解.这markdown编辑器还不怎么会用,可能写的有点格式有点丑啦,各位看官多多见谅. 网上找了一张汉诺塔的图片,汉诺塔就是利用用中间的柱子把最左边的柱子上的圆盘依次从大到小叠上去,说白了就是c要跟原来的a一样 废话少说,先亮代码 def move(n, a, buffer, c): if(n == 1): print(a,"->",c) return mov
-
python二分查找算法的递归实现方法
本文实例讲述了python二分查找算法的递归实现方法.分享给大家供大家参考,具体如下: 这里先提供一段二分查找的代码: def binarySearch(alist, item): first = 0 last = len(alist)-1 found = False while first<=last and not found: midpoint = (first + last)//2 if alist[midpoint] == item: found = True else: if ite
-
Python实现的递归神经网络简单示例
本文实例讲述了Python实现的递归神经网络.分享给大家供大家参考,具体如下: # Recurrent Neural Networks import copy, numpy as np np.random.seed(0) # compute sigmoid nonlinearity def sigmoid(x): output = 1/(1+np.exp(-x)) return output # convert output of sigmoid function to its derivati
-
python递归计算N!的方法
本文实例讲述了python递归计算N!的方法.分享给大家供大家参考.具体实现方法如下: def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) 希望本文所述对大家的Python程序设计有所帮助.
-
Python递归遍历列表及输出的实现方法
本文实例讲述了Python递归遍历列表及输出的实现方法.分享给大家供大家参考.具体实现方法如下: def dp(s): if isinstance(s,(int,str)): print(s) else: for item in s: dp(item) l=['jack',('tom',23),'rose',(14,55,67)] dp(l) 运行结果如下: jack tom 23 rose 14 55 67 希望本文所述对大家的Python程序设计有所帮助.
-
讲解Python中的递归函数
在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理. 于是,fact(n)用递归的方式写出来就是: def fact(n):
-
Python通过递归遍历出集合中所有元素的方法
本文实例讲述了Python通过递归遍历出集合中所有元素的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: '''''通过递归遍历出集合中的所有元素 Created on 2013-9-29 @author: L.Eric ''' def print_List(list_nums): for each_item in list_nums : if isinstance(each_item,list): print_Lis
-
python使用递归解决全排列数字示例
第一种方法:递归 复制代码 代码如下: def perms(elements): if len(elements) <=1: yield elements else: for perm in perms(elements[1:]): for i in range(len(elements)): yield perm[:i] + elements[0:1] + perm[i:] for item in li
-
python中尾递归用法实例详解
本文实例讲述了python中尾递归用法.分享给大家供大家参考.具体分析如下: 如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的.当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归.尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码. 原理: 当编译器检测到一个函数调用是尾递归的时候,它就覆盖当前的活跃记录而不是在栈中去创建一个新的.编译器可以做到这点,因
随机推荐
- angular过滤器实现排序功能
- IE事件对象(The Internet Explorer Event Object)
- Angular 2父子组件数据传递之局部变量获取子组件其他成员
- JavaScript 继承详解(三)
- VBS正则表达式对象的MultiLine属性
- 站长必备的最齐全的301转向代码合集
- ASP.net(c#) 生成html的几种解决方案[思路]第1/2页
- php守护进程 加linux命令nohup实现任务每秒执行一次
- ip138中各种客户端验证js代码
- C#使用NPOI导入Excel的方法详解
- android 上传文件到服务器代码实例
- php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
- python中的yield使用方法
- 基于JQuery制作可编辑的表格特效
- jQuery插件扩展测试实例
- 为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
- Javascript设计模式理论与编程实战之简单工厂模式
- c#事件使用示例详解
- 中文域名5年内有望赶超英文域名
- JavaScript日期工具类DateUtils定义与用法示例