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

HackerRank护照姓名首字母大写题代码4/6测试用例未通过求助

问题分析

原有代码的核心问题

  • 空格格式丢失:str.split()无参数调用时会将连续多个空白字符视为单个分隔符,同时自动忽略字符串首尾的空白,会直接丢失原输入的连续空格、首尾空格等格式,这是触发测试用例失败的主要原因。
  • 冗余无效代码:0<len(s)<1000是无逻辑绑定的布尔表达式,既没有做长度校验的分支处理,也没有赋值操作,对程序运行没有任何作用,属于冗余代码。
  • 不必要的重复操作:字符串拼接逻辑x=" ".join(abc)放在for循环内部,每遍历一个单词就执行一次全量拼接,无意义消耗性能。

修复方案

将无参数的split()改为按单个空格分割的split(' '),即可完整保留原字符串的所有空格格式,同时调整拼接逻辑的位置、删除冗余代码即可。

修复后代码(和原实现风格对齐)

def solve(s):
    abc = []
    for p in s.split(' '):
        abc.append(p.capitalize())
    x = " ".join(abc)
    return x

更简洁的优化写法

def solve(s):
    return ' '.join(p.capitalize() for p in s.split(' '))

验证效果

输入样例输出结果是否符合要求
alison heckAlison Heck是
alison heck Alison Heck 是(保留所有原空格)
aA是
123test name123test Name是

内容的提问来源于stack exchange,提问作者wes BOREland

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:24:01