将一个斐波那契数程序用列表形式输出

题目是【编程实现:用递归函数的方法实现在屏幕输出n项斐波那契数列,并将数列用一个列表对象表示,要求n在10项以上,输出的内容是:先每行输出5项,然后再换行输出列表。】 现在已经大致写出来了,但是不知道怎么用列表形式输出,求教大佬 【def fbnq(x): if x==1 or x==2: return 1 else: return fbnq(x-1)+fbnq(x-2) n=int(input("请任意输入一个正整数n:")) count=0 for i in range(1,n+1): print(fbnq(i),end=" ") count=count+1 if count%5==0:print()】 这是现在的程序样子( *ˊᵕˋ)✩︎‧₊

在你的代码基础上在上数列就可以了

源程序如下:

def fbnq(x): 
    if x==1 or x==2: 
        return 1 
    else:
        return fbnq(x-1)+fbnq(x-2) 
    
n=int(input("请任意输入一个正整数n:")) 
count=0 
fibs = []
for i in range(1,n+1): 
    fibs.append(fbnq(i))
    print(fbnq(i),end=" ") 
    count=count+1 
    if count%5==0:
        print()
print("以数列的形式输出:")
print(fibs)

输出结果:

请任意输入一个正整数n:15
1 1 2 3 5 
8 13 21 34 55 
89 144 233 377 610 
以数列的形式输出:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]

 

如有帮助还望采纳,码子不易 谢谢哦

def fbnq(x):
    if x<=2:
        return [1]*x
    r = fbnq(x-1)
    r.append(r[-1]+r[-2])
    return r

n=int(input("请任意输入一个正整数n:"))
li = fbnq(n)
count=0
for i in li:
    print(i,end=" ")
    count=count+1
    if count%5==0:
        print()

 

l=[1,1]
p = [1,1]
for i in range(25):
    l.append(l[-2]+l[-1])
for i in range(25):
    if(i%6==0):
        print(p)
        p=[]
    else:
        p.append(l[i])
    

 

python的代码是强格式类型的。 

递归+列表应该是fbnq(n)一次性返回一个包含n个元素的列表

 

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢。
 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632