Python print 语句在参数之间添加空格

Python print statement adds spaces between arguments

我正在编写一个非常基本的 hello 程序,但我在名称和第一个感叹号之间不断收到一个 space,我在代码中没有看到。我尝试用几种不同的方式重新格式化字符串部分以连接间距,但我无法弄清楚是什么导致了额外的 space。我试过单独做感叹号,或者下一句第一句的一部分,但它总是有额外的 space 在变量 'name'.

之后

相比之下,可变年龄后的感叹号没有多余的space,这就是我希望他们俩看起来的样子。

这是代码和屏幕截图 - 提前致谢。

name = input('Please enter your name: ')
age = input('Please enter your age: ')

print("Hello",name,"! You are",age,"nice to meet you!")

python 打印函数自动在参数之间添加一个 space。您应该将字符串连接(连接)在一起,然后打印它们

print("a","b") # a b
print("a" + "b") # ab

在 python 中,您可以使用“f-strings”,这是一种“模板化”字符串的方法。 {} 中的文本被视为 python,因此您可以在其中放置变量。

print(f"Hello {name}! You are {age} nice to meet you!")

f-strings 是 python 中的最佳方法,但第一个带有“+”的解决方案将适用于此用例

您可以使用 f-strings。即更好更pythonic:

print(f"Hello {name}! You are {age}. Nice to meet you!")

,默认在python中添加一个space。

你也可以像这样使用 .format:

name = input('Please enter your name: ')
age = input('Please enter your age: ')

print("Hello {}! You are {} nice to meet you!".format(name , age))

或:

name = input('Please enter your name: ')
age = input('Please enter your age: ')

print("Hello {0}! You are {1} nice to meet you!".format(name , age))

第二个解决方案在这种情况下很有用:

print("{0} is software engineer. also his son want to be programmer. {0} is good trainer".format("jackob"))

它是如何工作的?
.format(...) 中的每样东西都有索引!例如,在 .format("jackob" , "sara") 中,“jackob”索引为 0,“sara”索引为 1!

使用带有 C 风格标志的 print() 语句。它使您可以精确控制字符串的输出方式。

print('Hello %s! You are %d. Nice to meet you!' % (name, age))