博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 实例六
阅读量:6991 次
发布时间:2019-06-27

本文共 965 字,大约阅读时间需要 3 分钟。

题目:斐波那契数列。

程序分析:这个数列从第3项开始,每一项都等于前两项之和。故

n=1,2,f=1

n>2,f=f(n-1)+f(n-2)

例如:1,1,2,3,5,8.....

>>> def f6(n):	if n==1 or n==2:		return 1	elif n>2:		return f6(n-1)+f6(n-2)	else:		print 'please input an incorrect number' >>> for i in range(1,10):	print f6(i)	112358132134>>> f6(-2)please input an incorrect number

 网上答案:

方法一

#!/usr/bin/python# -*- coding: UTF-8 -*-def fib(n): a,b = 1,1 for i in range(n-1): a,b = b,a+b return a # 输出了第10个斐波那契数列 print fib(10)

方法二

#!/usr/bin/python# -*- coding: UTF-8 -*-# 使用递归 def fib(n): if n==1 or n==2: return 1 return fib(n-1)+fib(n-2) # 输出了第10个斐波那契数列 print fib(10)

以上实例输出了第10个斐波那契数列,结果为:

55

方法三

如果你需要输出指定个数的斐波那契数列,可以使用以下代码:

#!/usr/bin/python# -*- coding: UTF-8 -*-def fib(n): if n == 1: return [1] if n == 2: return [1, 1] fibs = [1, 1] for i in range(2, n): fibs.append(fibs[-1] + fibs[-2]) return fibs # 输出前 10 个斐波那契数列 print fib(10)

以上程序运行输出结果为:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

转载于:https://www.cnblogs.com/evablogs/p/6783498.html

你可能感兴趣的文章
【Templates】一些常用的板子~~
查看>>
二叉树及排序二叉树的相关操作汇总
查看>>
Handler进阶之sendMessage原理探索
查看>>
[POJ 1321] 棋盘问题
查看>>
List -> Map 工具类,list转为map
查看>>
python学习笔记(函数)
查看>>
4.菜鸟教你一步一步开发 web service 之 axis 客户端创建
查看>>
echarts使用
查看>>
404 错误: HTTP Error 404.0 - Not Found
查看>>
servlet中请求action
查看>>
SVN的标准目录结构:trunk、branches、tags(转)
查看>>
【菜鸟学习笔记】bootstrap_按钮
查看>>
CentOS 4 安装git
查看>>
Linux下的软件管理
查看>>
设计模式(二)----工厂模式
查看>>
LCMS
查看>>
UITableView和UICollectionView的Cell高度的几种设置方式
查看>>
POJ - 2236 Wireless Network
查看>>
First Django app(各个文件以及文件夹解析)
查看>>
python 可变参数函数定义* args和**kwargs的用法
查看>>