用python编写程序条件如下给定输入k(k>=0,自然数),计算斐波那契数列第项。例如输入4,程序应输出3。

用python编写程序条件如下给定输入k(k>=0,自然数),计算斐波那契数列第项。例如输入4,程序应输出3。


def fib(x):
    a = 1
    b = 1
    if x == 1:
        return 1
    elif x == 2:
        return 1
    i = 0
    num = 0
    while(i<x-2):
        num = a+b
        a = b
        b = num
        i += 1
    return num

a = int(input())
print(fib(a))

你题目的解答代码如下:

k = int(input("请输入一个整数:"))
a=0
b=1
for i in range(k):
    t=a+b
    a=b
    b=t

print(a)

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

注意题目要求 k>=0, 设置为参数小于1,都返回0

def f(n):
    f1,f2 = 0,1
    for _ in range(n):
        f1,f2 = f2,f1+f2
    return f1

k = int(input())
print(f(k))

更多关于斐波那契数列的知识,请参见我最近的博客: