• Python_斐波那契数列


    背景:

      小伙伴去面试,考题:python计算"斐波那契数列",不少于2种写法。

      当然,小编第一感觉,就是坑。逗比考官,没办法,谁让发到群里让帮忙的呢。实现代码如下:

    斐波那契数列百度一下:

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

    正常逻辑:

    # Author: lixy
    num = int(input("输入一个整数:"))
    a = 0
    b = 1
    if num <= 0:
        print("请输入一个正整数!")
    elif num == 1:
        print("斐波拉契数列:%d" % a)
    else:
        print("斐波拉契数列:", end=" ")
        print(a,b,end=" ")
        for i in range(1, num-1):
            c = a + b
            a,b=b,c
            print(c,end=" ")

    方法二:

    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)

    最后使用生成器的方法:

    # python 用生成器生成斐波那契数列
    def PeiBo():
        a = 0
        b = 1
        print(a, end=" ")
        while True:
            c = a + b
            a, b = b, c
            yield a
    
    pei = PeiBo()
    
    for x in pei:
        if x > 100:
            break
        print(x, end=" ")

    结果展示:

    最后:遇到这种,我估计直接出门左转了..

  • 相关阅读:
    layer弹出层显示在top顶层
    PC上安装多个操作系统
    Windows下DLL查找顺序
    AHCI驱动安装
    Office 多版本共存
    Windows定时器
    Windows菜单
    Windows高精度时间
    VB6.0调用DLL
    时间服务器通讯协议
  • 原文地址:https://www.cnblogs.com/lixy-88428977/p/9481369.html
Copyright © 2020-2023  润新知