无需空格即可在Python中打印

时间:2013-10-27 19:11:32

标签: python string python-3.x printing

我在几个不同的地方发现了这个问题,但我的情况略有不同,所以我无法真正使用和应用答案。 我正在对Fibonacci系列进行练习,因为它不适合学校,我不想复制我的代码,但这里的内容非常相似。

one=1
two=2
three=3
print(one, two, three)

打印时,显示" 1 2 3" 我不想要这个,我希望将它显示为" 1,2,3"或" 1,2,3和#34; 我可以通过使用像这样的改动来做到这一点

one=1
two=2
three=3
print(one, end=", ")
print(two, end=", ")
print(three, end=", ")

我真正的问题是,有没有办法将这三行代码压缩成一行,因为如果我将它们全部放在一起就会出错。

谢谢。

5 个答案:

答案 0 :(得分:5)

print()函数与sep=', '一起使用,例如::

>>> print(one, two, three, sep=', ')
1, 2, 3

要使用iterable执行相同的操作,我们可以使用splat运算符*来解压缩它:

>>> print(*range(1, 5), sep=", ")
1, 2, 3, 4
>>> print(*'abcde', sep=", ")
a, b, c, d, e

print上的帮助:

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file:  a file-like object (stream); defaults to the current sys.stdout.
sep:   string inserted between values, default a space.
end:   string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.

答案 1 :(得分:3)

您可以使用Python字符串format

print('{0}, {1}, {2}'.format(one, two, three))

答案 2 :(得分:3)

您可以使用或不使用逗号执行此操作:

1)没有空格

one=1
two=2
three=3
print(one, two, three, sep="")

2)逗号空格

one=1
two=2
three=3
print(one, two, three, sep=", ")

3)没有空格的逗号

one=1
two=2
three=3
print(one, two, three, sep=",")

答案 3 :(得分:1)

另一种方式:

one=1
two=2
three=3
print(', '.join(str(t) for t in (one,two,three)))
# 1, 2, 3

答案 4 :(得分:0)

您也可以尝试:

print("%d,%d,%d"%(one, two, three))