python函数调用求斐波那契数列

img

img


我这个怎么做到输出结果左对齐,还有就是第一行怎么才四个结果,我想要一行五个并且左对齐,求修改后的代码

在换行判断时,应该先判断,再加计数器(count)。左对齐用%nd实现
此外,循环控制应由n给出,而不是直接写死为(1,31)

def fi(n):
    if n <= 2:
        return 1
    else:
        return fi(n - 1) + fi(n - 2)

def fiPrint(n):
    for i in range(1, n+1):
        print("%8d" % fi(i), end='')
        if i % 5 == 0:
            print('')

fiPrint(30)