https://www.cnblogs.com/evablogs/p/6783498.html

题目:斐波那契数列。

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

n=1,2,f=1

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
>>> 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'<br>
>>> for in range(1,10):
    print f6(i)
 
     
1
1
2
3
5
8
13
21
34
>>> 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]

python 实例六的更多相关文章

  1. 简学Python第六章__class面向对象编程与异常处理

    Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群  群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性p ...

  2. 第一个python实例--监控cpu

    #第一个python实例:监控cpu #/bin/bash/env Python from __future__ import print_function from collections impo ...

  3. (转)Python实例手册

    原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...

  4. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...

  5. C语言库函数大全及应用实例六

    原文:C语言库函数大全及应用实例六                                              [编程资料]C语言库函数大全及应用实例六 函数名: getlinesett ...

  6. 【NLP】Python实例:申报项目查重系统设计与实现

    Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...

  7. 初学Python(六)——输入输出

    初学Python(六)——输入输出 初学Python,主要整理一些学习到的知识点,这次是输入输出. 输入: # -*- coding:utf-8 -*- ''''' python中的输出为print ...

  8. 转载 python实例手册

    python实例手册 #encoding:utf8# 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请 ...

  9. 【NLP】Python实例:基于文本相似度对申报项目进行查重设计

    Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...

随机推荐

  1. [树莓派]启用root账户

    树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的. debian里root账户默认没有密码,但账户锁定. 当需要root权限时,由默认账户经由sudo执行,Ras ...

  2. IOS开发之尺寸

    在移动端或者前端开发中,UI图通常是带标注的,指定某个控件的长宽等属性,一般UI给的是68px,72px这样的样式,但是我们在开发过程中通常又并不是完全按照上面的标注去设置值,有时候需要将这个标注除以 ...

  3. Thrift 代码分析

    Thrift的基本结束 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目.Thrift通过IDL(Interface Definiti ...

  4. 6.Git基础-远程仓库的使用

    远程仓库是指托管在因特网或其他网络中的你的项目的版本库.比如你在GitHub中托管的代码库,就是远程仓库. 1.查看远程仓库 --  git remote  git remote 查看已经配置的远程仓 ...

  5. React 中的key值

    在react中必须要有key值,key不是用来提升react的性能的,react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key p ...

  6. java自动拆装箱(转载)

    转载自:http://www.cnblogs.com/dolphin0520/p/3780005.html 注意:Integer的缓存机制.

  7. Python内置函数(68)——__import__

    英文文档: __import__(name, globals=None, locals=None, fromlist=(), level=0) This function is invoked by ...

  8. Python内置函数(53)——repr

    英文文档: repr(object) Return a string containing a printable representation of an object. For many type ...

  9. 1.MySQL(一)

    数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库 RDBMS 即关系数据库管理系统(Relational Database Management System) 1.特 ...

  10. qt4升级到qt5的一些问题

    由于最近项目使用的qt版本从qt4.8升级到qt5.5,虽然从4到5的变化不大,不过还是有许多的问题需要记录一下,希望可以帮助到更多的人​ 1.由于Qt5将大部分桌面部件移到了Qt Widgets模块 ...