我在几个不同的地方发现了这个问题,但我的情况略有不同,所以我无法真正使用和应用答案。 我正在对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=", ")
我真正的问题是,有没有办法将这三行代码压缩成一行,因为如果我将它们全部放在一起就会出错。
谢谢。
答案 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))