【问题描述】要求实现一个计算Fibonacci数的函数,并利用其实现另一个函数——输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1,即fib(0)=fib(1)=1)的数列。
其中函数fib(i)须返回第i项Fibonacci数;
函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
要求输入区间范围m、n以及i打印输出区间[m,n]中Fibonacci数的数目,以及第i项Fibonacci数。
提示:Fibonacci数列从第0项开始。

【样例输入】20 100 6

【样例输出】fib(6) = 13

4

【样例说明】区间[20,100]中的Fibonacci数个数为4个,以及第6项Fibonacci数为13。

步骤一:定义fib(i)函数

def fib(i):if i==0 or i==1:return 1else:return fib(i-1)+fib(i-2)  #满足任一项数字是前两项的和

解释:最开始前两项均为1,且Fibonacci数列从第0项开始。   Fibonacci数列就是满足任一项数字             是前两项的和。

步骤二:定义PrintFN(m,n)函数

函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。

def PrintFN(m,n):a=[]for i in range(25):  #因为题目规定(0<m<n≤100000),而fib(24)<100000,fib(25)>100000if fib(i)>=m and fib(i)<=n:a.append(i)return a

步骤三:根据题目样例输入输出规定运用函数。

m,n,i=input().split()
m=int(m)
n=int(n)
i=int(i)
j=fib(i)
print("fib({0}) = {1}".format(i,j))
list1=PrintFN(m,n)
print(len(list1))

输入样例

20 100 6

输出样例

fib(6) = 13
4

易错点总结:

1、容易忽略Fibonacci数列从第0项开始,且前两项均为1.

2、容易忽略m,n的取值范围而缺少对定义printfn()函数时的限制

码字不易,觉得有用的话就点个小赞收藏起来慢慢看吧

用python实现一个计算Fibonacci数的函数相关推荐

  1. python构建一个计算列表中位数的函数_python学习之数据科学库

    numpy创建数组 #导入numppy库, 对numpy重命名为np. import numpy as np #1). 创建数组: a, b, c创建的数组相同, 任选一种; #方法一: 直接将数组/ ...

  2. python编写一个判断完数的函数过程_1.编写一个函数判断一个整数是否是完数(一个数如果恰好等于他的因子之和,这个数就称为完数,如6=1+2+3)...

    [判断题]22. 在底稿列表页签,单击按钮"刷新",或单击右键菜单"刷新",可以刷新底稿列表,同时刷新底稿状态. [判断题]18. 当选择按底稿分配情况显示底稿 ...

  3. python编写一个判断完数的函数过程_第4章-30 找完数 (20分)python

    所谓完数就是该数恰好等于除自身外的因子之和.例如:6=1+2+3,其中1.2.3为6的因子.本题要求编写程序,找出任意两正整数m和n之间的所有完数. 输入格式: 输入在一行中给出2个正整数m和n(1 ...

  4. 如何用python写一个计算日期间隔的程序?

    如何用python写一个计算日期间隔的程序? 文章目录 如何用python写一个计算日期间隔的程序? 前言 问题梳理 问题解决 写在后面 前言 为什么想起来写一个这样的程序呢? 前几天聊天的时候,突然 ...

  5. 编写一个判断完数的函数。完数是指一个数恰好等于它的因子之和,如6=1+2+3,6就是完数。

    编写一个判断完数的函数.完数是指一个数恰好等于它的因子之和,如6=1+2+3,6就是完数. 程序之美 编写一个判断完数的函数.完数是指一个数恰好等于它的因子之和,如6=1+2+3,6就是完数. #in ...

  6. 编写一个判断完数的函数python_完数

    计算完数的题 我错的忘记了 amount 需在第一重循环中初始化值为"0" public class Test { public static void main(String[] ...

  7. python编写一个名为collatz()的函数,它有一个名为number的参数,如果参数是偶数,那么collatz()就打印出number//2,如果number是奇数,collatz()就打印3*

    [开发该软件的操作系统]:windows10 [软件开发环境/开发工具]:PyCharm [编程语言]:Python [开发目的]:这是老师布置的作业啦~ 供初学者参考学习 [开发者]:江西农业大学2 ...

  8. python定义一个解一元二次方程的函数

    不讨论二次,一次参数都是零的情况,不讨论有虚数根的情况 思路: 利用求根公式做判断有无实数根b*b-4*a*c 利用求根公式进行求解 步骤: 构建一个三个形参的函数,做根的判别式: import ti ...

  9. 用Python写一个批量生成账号的函数(用户控制数据长度、数据条数)

    # 1.写一个函数,批量生成一些注册使用的账号:产生的账号是以@163.com结尾,长度由用户输入,产生多少条也由用户输入,用户名不能重复,用户名必须由大写字母.小写字母.数字组成 import ra ...

最新文章

  1. 中文NLP的分词真有必要吗?李纪为团队四项任务评测一探究竟 | ACL 2019
  2. 8月份Github上最热门的Python开源项目
  3. 判断是否是2的N次方
  4. JavaScript中this详解
  5. 眼压与角膜厚度的关系
  6. python pip工具命令_python 工具链 包管理工具 pip
  7. 利用权限禁止QQ的自动升级(QQUpdateCenter)
  8. C++socket编程(四):4.1 跨平台封装XTcp类接口
  9. 基于NTT的循环码:RS码、BCH码、RM码
  10. web前端开发技术——第六章课后习题实验
  11. 单闭环直流调速系统仿真实验
  12. 日志服务器文档,日志服务器的搭建.docx
  13. 关于移植人脸识别功能到linux开发板
  14. 2021-01-22
  15. 腾讯微信面试题:侧重科班基础
  16. 安装sikuli报错:jnius/jnius_conversion.pxi:54:31: Casting temporary Python object to non-numeric non-Pyth
  17. C语言实现简单的线程池【转】
  18. Matlab画的玫瑰花
  19. 提高程序并发量的几个建议(不看保证后悔死你)
  20. 蓝牙nrf52832的架构和开发

热门文章

  1. HDFS文件压缩与解压缩
  2. 1781. 所有子字符串美丽值之和
  3. 华为怎么分屏操作技巧_第五人格昆虫学家虫群怎么用 昆虫学家操作技巧介绍...
  4. DT tableone各种花里胡哨的图 把dataframe导出成html 把矩阵变成html方便查看 类似于shinny功能 制作三线表等共功能 fextable 花里胡哨的工具 datatable
  5. 天猫精灵识别不灵敏的解决方法!
  6. 微信小程序开发:使用reLaunch跳转时报错的解决步骤
  7. 一个老程序员的心里话(大家一定读一读)
  8. Java中判断数组是否为空
  9. 大数据分析笔记 (4.2) - 逻辑回归分析(Logistic Regression)
  10. Spring Boot学习--starters