如何在括号内的一行中打印整数(具有第 n 个值的斐波那契数列)

How can I print integers in one line inside the brackets (Fibonacci sequence with nth value)

是否可以在括号内一行打印整数?我希望我的输出看起来像这样:

[0 1 1 2 3 5 8 13 21 34] 

但由于我编写代码的方式,我可以在列表末尾添加方括号 0 1 1 2 3 5 8 13 21 34[] 但不能在开始和结束处添加方括号。

我的代码:

n = int(input("Input a number to create Fibonacci sequence: "))

def fibo(n):
    if n <=0:
        print("Incorrect input")
        return []    
    if n == 1:
        return [0]      
    a,b = 0,1 
    for i in range(0,n):
        print(a , end = " ",)
        #assign a=b and b=a+b to get the sequence
        a,b=b,a+b    
        print()

fibo(n)
    


    

您正在寻找的输出格式是您打印列表时得到的格式。

您可以使用递归逐步构建结果列表:

def fibo(n,a=0,b=1): return [a]+fibo(n-1,b,a+b) if n else [a]

print(fibo(10)) # fibonacci up to index 10
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

也可以迭代完成

n    = 10 # first 10 fibonacci numbers
fibo = [0,1]
while len(fibo) < n: fibo.append(sum(fibo[-2:]))

print(fibo[:n])
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]