用递归函数fibo求斐波拉且数列的第n项。程序中输出斐波拉且数列的前20项,要求每行输出5个数据,每个数据输出宽度为8并在宽度内右对齐。

def fibo(n):
if n==1 or n==2:
return 1
else:
return (fibo(n-1)+fibo(n-2))
for i in range(1,20+1):
print("{:>8}".format(fibo(i)), end=" ",)

我已经完成上面的代码了,但是不清楚如何每行输出五个
效果图如下:

   1       1       2       3       5
   8      13      21      34      55
  89     144     233     377     610
 987    1597    2584    4181    6765
for i in range(1,20+1):
    print("{:>8}".format(fibo(i)), end="")
    if i % 5 == 0:
        print()

def fibo(n):
    if n==1 or n==2:
        return 1
    else:
        return (fibo(n-1)+fibo(n-2))

for i in range(1,20+1):
    if i % 5 == 0:
        print("{:>8}".format(fibo(i)))
    else:
        print("{:>8}".format(fibo(i)), end=" ")