为什么字符串中的变量和标点符号之间有额外的空格?python
字符串的输出中有一个额外的空格。这是代码中发生这种情况的部分。它发生在函数的字符串nameConfirmation()中 这是它给出的输出为什么字符串中的变量和标点符号之间有额外的空格?python,python,Python,字符串的输出中有一个额外的空格。这是代码中发生这种情况的部分。它发生在函数的字符串nameConfirmation()中 这是它给出的输出 Right... So your name is Raven . 如何去掉名称和标点之间的空格?逗号表示在同一行上的一个续行,中间有一个空格(您会注意到“is”和“Raven”之间有一个空格,即使两个字符串中都没有空格)。如果要删除空格,通常连接字符串的方法是使用加号 编辑:加号,而不是加号。。。愚蠢的我你可以用+附加字符串 print ("Right..
Right... So your name is Raven .
如何去掉名称和标点之间的空格?逗号表示在同一行上的一个续行,中间有一个空格(您会注意到“is”和“Raven”之间有一个空格,即使两个字符串中都没有空格)。如果要删除空格,通常连接字符串的方法是使用加号
编辑:加号,而不是加号。。。愚蠢的我你可以用
+
附加字符串
print ("Right... So your name is", name + ".")
输出:
Right... So your name is Raven.
通过print命令传递的每个参数自动用空格分隔。我看到您使用的是python 2,我使用的是python 3,所以我不确定此解决方案是否可行,但您可以尝试这样做:
print ("Right... So your name is ", name,".",sep='')
这基本上(假设它在python 2中也能工作)将参数之间的分隔改为无空格而不是1空格。使用字符串变量替换
%s
:
def nameConfirmation():
name = chooseName()
print ("Right... So your name is %s." % name)
有关Python3中字符串操作和格式设置的详细信息,请检查以下内容:
如果您使用:
print ("Right... So your name is", name,".")
您会注意到输出是:
Right... So your name is Raven .
查看is
和name
(Raven
)。您可以在输出中注意到一个空格(是Raven
),这是因为print()
有一个名为sep
的默认参数,默认情况下它是print(“对…所以您的名字是“,”name“,”sep=”)
。该参数是一个字符串,它被添加到与打印
函数中的coma,
连接的每段字符串的末尾。因此,如果你做了
print('A','B')
,它将是ab
,因为当你连接A
和B
时,print
将添加”
(和空格)作为胶水。您可以配置它:
print('A','B',sep='glue')
将打印AglueB
要解决你的问题,你可以做两个选择
- 更改
并在sep=''
之后添加空格:is
print(“对……所以您的名字是,”,name,”,sep='')
- 或者,使用
连接最后两个字符串:+
print(“对……所以您的名字是“,”name+”)
print(“对……所以您的名字是%s.%name)
print(“对……所以你的名字是{}。”.format(name))
print(f“对……所以你的名字是{name}”)
- (使用
和sep
,,
,+
,%s
,.format()
,以及字符串类的使用)f-string
- (基本和高级使用
,%s
,%d
,值转换,.format()
,)日期时间
不需要空间-->打印(某物)
打印(某物)
- 此外,sep=''还有一个名为
的函数,用于确定打印的结束(end='\n'
=新行)\n
p.S 2:感谢您提出添加一些文档链接的想法。我刚刚了解到,您可以执行
打印(%(键)s%mydict)
将print()
函数的sep
参数设置为'
,但随后必须在“is”之后添加一个空格,这与is
和Raven
之间存在空格的原因相同。如果启用了print
函数,则可能会出现与python中的语言混淆、符号和不起作用的重复,sep
参数在2.6中已经可以使用原始输入,是否需要使用str(name)来连接?我不在计算机上,或者我想检查一下。@JosephRyle我用python2.7验证了str()
是不需要的。谢谢。这很有效。我还没有在我的课堂上学到。“命运”也是一个有用的技巧,可以应用在C++中。欢迎我喜欢你的回答。非常翔实和完整。请考虑添加一些链接到参考答案/教程中的字符串操作和格式在Python 3在答案的结尾!@好的,我会开始搜索的!
Right... So your name is Raven .