CS大一学生求助:不使用内置函数实现remove_space的代码问题排查
移除字符串空格函数的代码错误分析与修正
你的需求是实现remove_space(string)函数,接收字符串输入后返回移除所有空格的新字符串,且禁止使用split()、replace()、join()这类函数。你的现有代码存在以下几个核心错误:
- 逻辑方向错误:当检测到空格字符时,你将
char赋值为空字符串temp,这完全偏离需求——我们需要的是直接忽略空格,而非把空格替换成空值输出。 - 未正确构建结果字符串:
temp变量的作用应该是累积所有非空格字符,但你的代码里它只作为空字符串被赋值给char,完全没起到结果容器的作用。 - 函数未返回结果:题目要求函数返回处理后的新字符串,但你的代码仅打印单个字符,没有用
return语句输出最终结果,不符合函数的设计要求。
修正后的代码
def remove_space(string): temp = "" for char in string: if char != " ": # 仅保留非空格字符 temp += char return temp # 返回处理完成的字符串 print("----------------#1---------------") output = remove_space("Welcome to computer science") print(output)
修正说明
- 调整判断逻辑:仅当字符不是空格时,才将其追加到
temp中,实现跳过空格的效果。 - 利用
temp累积结果:通过temp += char逐步拼接所有有效字符,构建最终的无空格字符串。 - 添加返回语句:用
return temp让函数输出处理后的结果,满足题目对函数返回值的要求。
内容的提问来源于stack exchange,提问作者WorldXp
相关产品推荐
相关产品推荐

