请各位朋友们帮我解决下问题

请问为什么用这个编码解决不了斐波那契数列,运行出来就是打出数字就是数字几?

img

print缩进不对,还有你的n要输入的,你要定义。修改后的代码如下,有帮助的话记得采纳一下哦!

def fib(i):
    if i == 1 or i == 2:
        return 1
    else:
        return fib(i-1)+fib(i-2)
 
n = int(input("输入你要得到项:"))
print('第%d项为%d' % (n,fib(n)))

你的print语句放进函数里了,缩进去掉

print()向左缩进,定义一下n