在python 3中打印不带空格
- 2025-01-14 08:50:00
- admin 原创
- 115
问题描述:
我是 Python 新手,我想知道如何打印多个值而不在它们之间添加额外的空格。我想要输出,ab
而a b
不是调用print
两次:
print("a", end="")
print("b")
另外,我还有以下代码:
a = 42
b = 84
并且我想将它们的值打印为a = 42, b = 84
,但如果我这样做
print("a = ", a, ", b = ", b)
添加了额外的空格(它输出a = 42 , b = 84
)
而 Java 风格
print("a = " + a + ", b = " + b)
提出了一个TypeError
。
解决方案 1:
您可以使用sep
参数来删除空格:
>>> print("a","b","c")
a b c
>>> print("a","b","c",sep="")
abc
我不知道您说的“Java 风格”是什么意思;在 Python 中,您不能以这种方式将字符串添加到(比如说)整数中,尽管如果a
和b
是字符串,它就可以工作。当然,您还有其他几种选择:
>>> print("a = ", a, ", b = ", b, sep="")
a = 2, b = 3
>>> print("a = " + str(a) + ", b = " + str(b))
a = 2, b = 3
>>> print("a = {}, b = {}".format(a,b))
a = 2, b = 3
>>> print(f"a = {a}, b = {b}")
a = 2, b = 3
最后一个需要 Python 3.6 或更高版本。对于早期版本,你可以模拟相同的效果(虽然我一般不推荐这样做,但有时它很有用,而且没有必要假装不是这样):
>>> print("a = {a}, b = {b}".format(**locals()))
a = 2, b = 3
>>> print("b = {b}, a = {a}".format(**locals()))
b = 3, a = 2
解决方案 2:
print() 函数的实际语法是
print(*objects, sep=' ', end='
', file=sys.stdout, flush=False)
您可以看到它有一个sep
带有默认值的参数' '
。这就是为什么在中间插入空格的原因。
print("United","States") #Output: United States
print("United","States",sep="") #Output: UnitedStates
解决方案 3:
要分隔字符串或值,可以在 print() 中使用 sep 参数
print(a,b,sep='')
解决方案 4:
您还可以使用
print("%d%d" %(a,b))
以格式化字符串的形式打印不以空格分隔的 a 和 b。这与 c 中的类似。
解决方案 5:
print()
将自动在参数之间留出空格。
>>> print("a", "b", "c")
a b c
为了更好地控制间距,可以使用字符串格式:
>>> v0, v1, v2 = "a", "b", "c"
>>> print("%s%s%s" % (v0, v1, v2))
abc
>>> print("%s%s%s".format(v0, v1, v2)
abc
>>> print(f"{v0}{v1}{v2}")
abc
我喜欢关于这个主题的指南:https://realpython.com/python-f-strings/
解决方案 6:
在此页面上,答案是打印您的普通文本,然后在最后使用 sep=""
。
因此命令
print("Hole", hole, "Par", par, sep="")
将给予
"Hole1Par4"
假设hole==1
和par==4
。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD