字符串的输出中有一个额外的空格。这是它发生的代码部分。它发生在函数 nameConfirmation() 的字符串中。
def chooseName():
name = ""
name = raw_input("Let's begin with your name. What is it? ")
return name
def nameConfirmation():
name = chooseName()
print ("Right... So your name is", name,".")
这是它给出的输出。
Right... So your name is Raven .
如何去除名称和标点符号之间的空格?
如果您使用:
print ("Right... So your name is", name,".")
你会注意到输出是:
Right... So your name is Raven .
查看 is
和 name
(Raven
)。您可以在输出中注意到一个空格(is Raven
),这是因为 print()
有一个名为 sep
的默认参数,默认情况下它是print("对...所以你的名字是", name,".", sep = ' ')
.该参数是一个字符串,它在 print
函数中添加到每段字符串的末尾,并用逗号 ,
连接。
所以如果你执行 print('A','B')
它将是 A B
,因为当你连接 A
和 B
,print
将添加 ' '
(和空格)作为胶水。
您可以配置它:print('A','B', sep='glue')
将打印 AglueB
!
要解决您的问题,您可以采取两种选择。
- 更改
sep = ''
并在 is
之后添加一个空格: print ("Right...So your name is ", name,".", sep='')
- 或者,使用
+
连接最后两个字符串:print ("Right... So your name is", name + ".")
还有很多其他方法,例如:(我根据我的主观意见将它们从最差到最好排序...)
print("对...所以你的名字是 %s。"% name)
.
print("对...所以你的名字是{}。".format(name))
.
print(f"对...所以你的名字是 {name}。")
文档链接:
P.S:这不是答案的一部分,它只是一个注释。
print (something)
不需要空格 --> print(something)
.
- Futhemorer
sep = ' '
还有一个名为 end = '\n'
的函数用于确定打印结束 (\n
=新行)。
P.S 2:谢谢Ouss对于添加一些文档链接的想法。我刚刚了解到您可以执行 print(%(key)s % mydict)
!