5

我在几个不同的地方发现了这个问题,但我的略有不同,所以我不能真正使用和应用答案。我正在做一个关于斐波那契数列的练习,因为它是为了学校我不想复制我的代码,但这里有一些非常相似的东西。

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

打印时它显示“1 2 3”我不想要这个,我希望它显示为“1,2,3”或“1,2,3”我可以通过使用更改来做到这一点像这样

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

我真正的问题是,有没有办法将这三行代码压缩成一行,因为如果我把它们放在一起,我会得到一个错误。

谢谢你。

4

5 回答 5

5

像这样使用print()函数sep=', '::

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

要对可迭代对象做同样的事情,我们可以使用 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.
于 2013-10-27T19:13:53.287 回答
3

您可以使用 Python 字符串format

print('{0}, {1}, {2}'.format(one, two, three))
于 2013-10-27T19:13:15.823 回答
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=",")
于 2013-10-27T19:13:34.663 回答
1

另一种方式:

one=1
two=2
three=3
print(', '.join(str(t) for t in (one,two,three)))
# 1, 2, 3
于 2013-10-27T19:16:19.057 回答
0

你也可以试试:

print("%d,%d,%d"%(one, two, three))
于 2013-10-27T19:14:00.703 回答