菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 3 教程
Python3 教程 Python3 简介 Python3 环境搭建 Python3 VScode Python3 基础语法 Python3 基本数据类型 Python3 数据类型转换 Python3 解释器 Python3 注释 Python3 运算符 Python3 数字(Number) Python3 字符串 Python3 列表 Python3 元组 Python3 字典 Python3 集合 Python3 条件控制 Python3 循环语句 Python3 编程第一步 Python3 推导式 Python3 迭代器与生成器 Python3 with Python3 函数 Python3 lambda Python3 装饰器 Python3 数据结构 Python3 模块 Python __name__ Python3 输入和输出 Python3 File Python3 OS Python3 错误和异常 Python3 面向对象 Python3 命名空间/作用域 Python 虚拟环境的创建 Python 类型注解 Python3 标准库概览 Python3 实例 Python 测验

Python3 高级教程

Python3 正则表达式 Python3 CGI编程 Python3 MySQL(mysql-connector) Python3 MySQL(PyMySQL) Python3 网络编程 Python3 SMTP发送邮件 Python3 多线程 Python3 XML 解析 Python3 JSON Python3 日期和时间 Python3 内置函数 Python3 MongoDB Python3 urllib Python uWSGI 安装配置 Python3 pip Python3 operator Python math Python requests Python random Python OpenAI Python 有用的资源 Python AI 绘画 Python statistics Python hashlib Python 量化 Python pyecharts Python selenium 库 Python 爬虫 Python Scrapy 库 Python Markdown Python sys 模块 Python Pickle 模块 Python subprocess 模块 Python queue 模块 Python StringIO 模块 Python logging 模块 Python datetime 模块 Python re 模块 Python csv 模块 Python threading 模块 Python asyncio 模块 Python PyQt Python for 循环 Python while 循环
(追記) (追記ここまで)

Python 斐波那契数列

Document 对象参考手册 Python3 实例

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。

Python 实现斐波那契数列代码如下:

实例(Python 3.0+)

# -*- coding: UTF-8 -*-# Filename : test.py# author by : www.runoob.com# Python 斐波那契数列实现# 获取用户输入数据nterms = int(input("你需要几项?"))# 第一和第二项n1 = 0n2 = 1count = 2# 判断输入的值是否合法ifnterms <= 0: print("请输入一个正整数。")elifnterms == 1: print("斐波那契数列:")print(n1)else: print("斐波那契数列:")print(n1,",",n2,end=" , ")whilecount < nterms: nth = n1 + n2print(nth,end=" , ")# 更新值n1 = n2n2 = nthcount += 1

执行以上代码输出结果为:

你需要几项? 10
斐波那契数列:
0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 ,

Document 对象参考手册 Python3 实例

AI 思考中...

8 篇笔记 写笔记

  1. #0

    不见不散

    561***[email protected]

    参考地址

    21

    参考方法:

    num = int(input("输入一个整数:"))
    f1=0
    f2=1
    if num <=0:
     print("请输入一个正整数!")
    elif num==1:
     print("斐波拉契数列:%d"%f1)
    else:
     print("斐波拉契数列:",end="")
     print(f1,f2,end=" ")
     for n in range(1,num-1):
     f=f1+f2
     f1,f2=f2,f
     print(f,end=" ")
    

    不见不散

    561***[email protected]

    参考地址

    9年前 (2017年06月29日)
  2. #0

    immortal.lyth

    lee***[email protected]

    27

    参考方法:

    L = [0,1]
    num = int(input("请输入你要的项数:"))
    if(num <= 0):
     print("请输入一个正整数!");
    elif(num <= 2):
     if(num == 1):
     print("数列是:0")
     else:
     print("数列是:0,1")
    else:
     for i in range(2,num):
     f = L[i-1] + L[i-2]
     L.append(f)
     print("数组是:")
     print(L)
    

    immortal.lyth

    lee***[email protected]

    9年前 (2017年09月12日)
  3. #0

    会飞的鱼啊

    bro***[email protected]

    21

    抛砖引玉一下:

    def fab(n):
     if n == 1:
     return 0
     if n == 2:
     return 1
     if n > 2:
     return fab(n-1) + fab(n-2)
    def printfablist(n):
     for i in range(1, n+1):
     print(fab(i),end = ' ')

    运行实例:

    >>>printfablist(int(input('please input a number:')))
    please input a number:10
    0 1 1 2 3 5 8 13 21 34

    会飞的鱼啊

    bro***[email protected]

    9年前 (2018年01月16日)
  4. #0

    大师傅

    hey***[email protected]

    12

    两种实现方式,第一种是通过循环实现,第二种是通过递归调用来实现。第二种代码稍显简洁,结构较清晰,但由于递归占用较多资源,对于大规模的计算消耗比较大,运算比较慢。反而通过循环实现的运算较快。代码如下

    num=int(input("请输入要输出多少项:"))
    print("-------递归-------");
    def Count_Function(n):
     if(n<3):
     return(n)
     else:
     return(Count_Function(n-1)+Count_Function(n-2))
    i=1
    while(i<=num):
     print(Count_Function(i),end="\t")
     i+=1
    print()
    #计算斐波那契数列,通过循环来实现
    num=int(input("请输入您要显示的项数:"))
    print("-------循环-------");
    n=3
    a=[1,2]
    if(num==1):
     print(a[0],end=" ")
    elif(num==2):
     print(a[num-2],a[num-1],end=" ")
    else:
     while(n<=num):
     temp=a[n-2]+a[n-3]
     a.append(temp)
     n+=1
     for i in a:
     print(i,end=' ')
    print()
    

    大师傅

    hey***[email protected]

    9年前 (2018年01月30日)
  5. #0

    strengthenzheng

    str***[email protected]

    3

    参考方法:

    # -*- coding: UTF-8 -*-
    while True:
     try:
     count = int(input("请输入所需斐波那契数列的数量:"))
     if count < 1:
     print("请输入一个大于0的数字:")
     elif count == 1:
     print("[0]")
     # count>=2的情况
     else:
     i, j = 0 , 1 #初始化i,j,表示相邻的两个数
     f_list = [0, 1] # count==2时,斐波那契数列
     while count > 2:
     i, j = j, i # 交换i,j的值,上一次计算的j变成下一次计算的i 
     j += i #计算i和j后面一个数的值并且赋给j
     f_list.append(j) #将j追加给列表
     count -=1
     print(f_list)
     except ValueError:
     print("输入错误,请重新输入")

    strengthenzheng

    str***[email protected]

    8年前 (2018年12月29日)
  6. #0

    夜风

    284***[email protected]

    1

    参考方法:

    n = int(input('输入斐波那契数列的目标数字:'))
    def fibo2(n):
     a,b = 0,1
     arr = [0,1]
     while 1:
     if a+b<=n:
     arr.append(a+b)
     a, b =b, a+b
     else:
     break
     return arr
    print(fibo2(10))

    夜风

    284***[email protected]

    7年前 (2019年03月25日)
  7. #0

    陈壹

    che***[email protected]

    66

    简洁版斐波那契数列:

    def fib(n):
     a, b = 0, 1
     while a < n:
     print(a, end=' ')
     a, b = b, a+b
     print()
    fib(1000) # 取值范围可以任意
    # 输出结果如下:
    # 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

    陈壹

    che***[email protected]

    7年前 (2019年09月29日)
  8. #0

    参考:

    #斐波那契数列的通项式为:f(n) = (5**0.5/5)*(((1+5**0.5)/2)**n - ((1-5**0.5)/2)**n)
    N = int(input("请输入要几项:"))
    if(N < 0):
     print("请输入大于0的数")
    else:
     for i in range(0,N):
     print(int((5**0.5/5)*(((1+5**0.5)/2)**i - ((1-5**0.5)/2)**i)))
    7年前 (2019年11月25日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /