You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:多输入字符串无首尾空格的正确拼接方法咨询

解决输入内容空格分隔且首尾无多余空格的问题

嘿,我来帮你搞定这个小问题~你遇到的开头多余空格,本质是因为初始的b是空字符串,第一次拼接的时候会凭空多出一个前缀空格。下面给你两种简单的解决办法,还顺便修复了原代码里的一个小bug哦:

方法1:用列表收集输入,最后一次性拼接(推荐)

这种方法不仅能完美避免首尾空格,而且在Python里效率更高(因为字符串是不可变对象,反复拼接会生成新对象,用列表append更划算):

# 初始化一个空列表来存所有输入
input_list = []
while True:
    s = input("enter smtg: ")
    # 注意:input返回的是字符串,所以要和"-99"比较,原代码的s == -99永远不会触发终止!
    if s == "-99":
        break
    input_list.append(s)
# 用空格把列表里的元素拼接成字符串,自动处理好分隔,首尾无空格
print(' '.join(input_list))

方法2:判断初始状态再拼接字符串

如果坚持要用字符串直接拼接,可以通过判断b是否为空来决定要不要加前缀空格:

b = ''
while True:
    s = input("enter smtg: ")
    if s == "-99":
        break
    if not b:
        # 如果b是空的,直接赋值第一个输入
        b = s
    else:
        # 非空的话,先加空格再加新内容
        b += ' ' + s
print(b)

关键提示

原代码里有个隐藏bug:input()函数返回的是字符串类型,所以if s == -99:永远不会成立,循环根本停不下来!一定要改成和字符串"-99"比较才行哦。

内容的提问来源于stack exchange,提问作者prem prakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:33:05