python - 为什么字符串中的变量和标点符号之间有一个额外的空格? Python

标签 python

<分区>

字符串的输出中有一个额外的空格。这是它发生的代码部分。它发生在函数 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 .

查看 isname (Raven)。您可以在输出中注意到一个空格(is Raven),这是因为 print() 有一个名为 sep 的默认参数,默认情况下它是print("对...所以你的名字是", name,".", sep = ' ').该参数是一个字符串,它在 print 函数中添加到每段字符串的末尾,并用逗号 , 连接。
所以如果你执行 print('A','B') 它将是 A B,因为当你连接 AB 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)!

关于python - 为什么字符串中的变量和标点符号之间有一个额外的空格? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47686690/

相关文章:

python - Flask、Jinja2、 "$"字符上的 Babel 错误

python - 在新键中添加新键并在 python 字典中分配值

python - 没有名为 scipy.stats 的模块 - 为什么尽管安装了 scipy

python:打印带有时区信息的时间和日期

iphone - 从 python 向 iphone 发送推送通知

python - 如何编写动态代码让多元回归模型自动计算r方值并输出数据

python - 带有数值积分的 Sympy 级数展开

python - 根据另一个数据帧行的值填充数据帧行值pandas

python - flask 如何获取请求的 HTTP_ORIGIN

python - 使用 Python 拟合模拟和实验数据点