Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何删除最后一个数字后的多余空格_Python_Python 3.x_Printing_Output - Fatal编程技术网

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 for
print
而不是
end
来显示这些由空格分隔的值,并将每个值作为单独的参数传递。为此,我们需要使用
*
显式解包。它看起来像:

print(*fibonacci(10), sep=' ')
我们得到了期望的结果,没有尾随空间:

1 1 2 3 5 8 13 21 34 55

将生成数字的过程与打印数字的过程分开。(这是您无论如何都应该做的事情,但在这种情况下也会发生,以使问题更容易解决。)例如,我们可以使用生成器生成多个值。请注意,我们不需要处理任何特殊情况,我们还可以:

现在,我们可以使用
sep
arator for
print
而不是
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不是斐波那契数。