Python 如何删除最后一个数字后的多余空格
在我的程序中,我在最后一个数字后打印一个额外的空格。我怎样才能去掉它Python 如何删除最后一个数字后的多余空格,python,python-3.x,printing,output,Python,Python 3.x,Printing,Output,在我的程序中,我在最后一个数字后打印一个额外的空格。我怎样才能去掉它 def fibonacci(n): a = 0 b = 1 if n == 1: print(a, end=' ') else: print(a, end=' ') print(b, end=' ') for i in range(2, n): c = a + b a = b b = c print(c, end=' ')
def fibonacci(n):
a = 0
b = 1
if n == 1:
print(a, end=' ')
else:
print(a, end=' ')
print(b, end=' ')
for i in range(2, n):
c = a + b
a = b
b = c
print(c, end=' ')
fibonacci(int(input()))
输入:5输出:01123
我在最后一个数字后打印一个额外的空格。将生成数字的过程与打印数字的过程分开。(这是您无论如何都应该做的事情,但在这种情况下也会发生,以使问题更容易解决。)例如,我们可以使用生成器生成多个值。请注意,我们不需要处理任何特殊情况,我们还可以: 现在,我们可以使用
sep
arator forprint
而不是end
来显示这些由空格分隔的值,并将每个值作为单独的参数传递。为此,我们需要使用*
显式解包。它看起来像:
print(*fibonacci(10), sep=' ')
我们得到了期望的结果,没有尾随空间:
1 1 2 3 5 8 13 21 34 55
将生成数字的过程与打印数字的过程分开。(这是您无论如何都应该做的事情,但在这种情况下也会发生,以使问题更容易解决。)例如,我们可以使用生成器生成多个值。请注意,我们不需要处理任何特殊情况,我们还可以: 现在,我们可以使用
sep
arator forprint
而不是end
来显示这些由空格分隔的值,并将每个值作为单独的参数传递。为此,我们需要使用*
显式解包。它看起来像:
print(*fibonacci(10), sep=' ')
我们得到了期望的结果,没有尾随空间:
1 1 2 3 5 8 13 21 34 55
@Carcigenicate建议您可以使用列表 在下面的代码中,我们刚刚将
print
语句替换为list.append()
输出:
8
0 1 1 2 3 5 8 13h
正如您在输出中看到的,在最后一个数字13
之后没有多余的空格,我在13
之后打印了h
希望这对你有帮助 A@Carcigenicate建议您可以使用列表 在下面的代码中,我们刚刚将
print
语句替换为list.append()
输出:
8
0 1 1 2 3 5 8 13h
正如您在输出中看到的,在最后一个数字13
之后没有多余的空格,我在13
之后打印了h
希望这对你有帮助 一旦你打印出了一些东西,如果不使用像ANSII转义码这样的东西,你就不能真正地“取消打印”。如果您从函数返回一个数字列表,然后只调用
“”,则会更简洁。在这些数字上加入(…)
。不应打印0
的初始a
值-它不被视为斐波那契数。或者,您可以从a
开始,该值等于1
@KarlKnechtel我想打印以下数字序列:0 1 1 2 3 5 8 13 21。。。所以,如果我想从这个序列中打印出1个数字,输出将是0。一旦你打印出了一些东西,如果不使用ANSII转义码之类的东西,你就不能真正地“取消打印”。如果您从函数返回一个数字列表,然后只调用“”,则会更简洁。在这些数字上加入(…)
。不应打印0
的初始a
值-它不被视为斐波那契数。或者,您可以从a
开始,该值等于1
@KarlKnechtel我想打印以下数字序列:0 1 1 2 3 5 8 13 21。。。因此,如果我想从这个序列中打印1个数字,输出值将是0。您的解决方案有效,只需将a=1的值更改为0。同样,0不是斐波那契数。您的解决方案有效,只需将a=1的值更改为0。同样,0不是斐波那契数。