如何在括号内的一行中打印整数(具有第 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]
是否可以在括号内一行打印整数?我希望我的输出看起来像这样:
[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]