码迷,mamicode.com
首页 > 其他好文 > 详细

递归与斐波那契数列

时间:2016-05-02 22:55:29      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

一、递归

在函数内部,可以调用其他函数;
如果一个函数在内部调用自己,那这个函数就是递归函数。

案例:遍历当前目录下的所有文件

1、递归遍历

 1 import os
 2 def gci(filepath):
 3 #遍历filepath下所有文件,包括子目录
 4   files = os.listdir(filepath)
 5   for fi in files:
 6     fi_d = os.path.join(filepath,fi)
 7     if os.path.isdir(fi_d):
 8       gci(fi_d)
 9     else:
10       print(os.path.join(filepath,fi_d))
11 
12 #递归遍历当前目录下的所有文件
13 gci("./")

  2、其他方法  

1 import os
2 for filepath,dirs,fs in os.walk(./):
3   for f in fs:
4     print(os.path.join(filepath,f))

 

二、斐波那契数列

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368

特别指出:第0项是0,第1项是第一个1。
这个数列从第2项开始,每一项都等于前两项之和。
 
 1 第一种,通过递归实现雯波那契数列
 2 def func(arg1,arg2,stop):
 3     arg3 = arg1 + arg2
 4     print(arg3,‘‘,end=‘‘)
 5     if arg3 < stop:
 6         func(arg2,arg3,stop)
 7 func(0,1,46368)
 8 
 9 第二种,通过while循环实现
10 def func(n):
11     a,b = 0,1
12     while b < n:
13         a,b = b,a+b
14         print(b,‘‘,end=‘‘)
15 func(46368)

 

递归与斐波那契数列

标签:

原文地址:http://www.cnblogs.com/Rambotien/p/5448952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!