Python打印参数结束

时间:2018-04-20 20:59:15

标签: python

如何删除最后一个“添加 - >”从使用结束时的输出,我没有在这里使用sep,bcoz sep在这里不会有任何效果,因为print语句一次只打印1个项目并以i的incr结束

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

N = 10

for i in range(N):
    print(fibonaci_num(i), end=' add -> ')

我的输出

0 add -> 1 add -> 1 add -> 2 add -> 3 add -> 5 add -> 8 add -> 13 add -> 21 add -> 34 add -> 

3 个答案:

答案 0 :(得分:2)

您可以使用if语句检查它是否是最后一个数字:

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

N = 10

for i in range(N):
    print(fibonaci_num(i), end='')
    if i != N-1:
        print(' add -> ', end='')

答案 1 :(得分:2)

不可避免的pythonic one-liner:

print(*map(fibonaci_num, range(N)), sep=' add -> ')

答案 2 :(得分:0)

在这里,我使用三元运算符简化了答案。希望它会有所帮助并且变得更好。

def fib(n):    
    a, b = 0, 1
    while a < n:
        endstatement = '-' if (b < n) else ''
        print(a, end=endstatement)
        a, b = b, a+b
    print()


# Now call the function:
fib(1000)
  

结果:   0-1-1-2-3-5-8-13-21-34-55-89-144-233-377-610-987