打印到stdout,结果之间是否有空格?

时间:2016-05-22 20:02:19

标签: python stdout

我遇到了一个小问题, 我想打印到stdout结果与它们之间的空格

x y

我的代码打印出来(x, y)因为我只是用它们之间的逗号返回它们

return x, y

在打印x和y之前我需要添加什么?

2 个答案:

答案 0 :(得分:2)

你的函数返回一个元组。你看到的是元组的标准表示。

有不同的解决方案;

1)分配给两个变量并打印:

x, y = function()
print x, y # in Python 3 use print(x, y)

2)在python 3中你可以解压缩:

res = function()
print(*res)

3)您可以使用format

res = function()
print '{} {}'.format(res[0], res[1])
# In python 3 also with unpacking; print('{} {}'.format(*res))

请注意,使用format可能会给您最大的灵活性w.r.t.输出看起来如何。例如,如果值是浮点数。 Python 3中的示例:

>>> res = (12/7, 7/3)
>>> res
(1.7142857142857142, 2.3333333333333335)
>>> print(*res)
1.7142857142857142 2.3333333333333335
>>> print('{:.3f} {:.3f}'.format(*res))
1.714 2.333

答案 1 :(得分:1)

你刚刚打印了一个python tuple

>>> print((x, y))
(x, y)

您可以unpack获得所需的结果:

>>> print(*(x, y))
x y

要在python 2.x中使用,请执行from __future__ import print_function