Python print多参数默认加间隔空格,如何消除name变量后多余空格
问题原因
Python的print()函数传入多个位置参数时,默认会用sep参数的默认值(单个空格)把所有参数拼接后输出。你代码里把name和!作为两个独立参数传给print,二者之间就会被自动插入空格,这就是多余空格的来源。age后面没有多余空格是因为你输出里age之后的感叹号并没有作为独立参数存在,而是直接写在了最后一个字符串参数的末尾,不会被额外插入分隔符。
解决方案
下面是几种常用的修复方式:
- 方法1:使用f-string(Python 3.6及以上版本推荐,写法最简洁)
name = input('Please enter your name: ') age = input('Please enter your age: ') print(f"Hello {name}! You are {age} nice to meet you!")
- 方法2:使用字符串拼接
name = input('Please enter your name: ') age = input('Please enter your age: ') print("Hello " + name + "! You are " + age + " nice to meet you!")
- 方法3:修改print函数的分隔符参数
如果要保留多参数传参的写法,可以手动把sep参数设为空字符串,自行控制需要的空格:
name = input('Please enter your name: ') age = input('Please enter your age: ') print("Hello ", name, "! You are ", age, " nice to meet you!", sep='')
- 方法4:使用format格式化方法
name = input('Please enter your name: ') age = input('Please enter your age: ') print("Hello {}! You are {} nice to meet you!".format(name, age))
内容的提问来源于stack exchange,提问作者Shawna F
相关产品推荐
相关产品推荐

