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

Python实现单词第二个字母大写仅返回最后一个单词的问题排查

问题原因

代码的核心问题出在循环内的result赋值逻辑:

  • 每次循环都直接用=给result重新赋值,会直接覆盖上一轮循环的处理结果,所以循环结束后result里只剩最后一个单词的处理结果。
  • 除此之外,处理完每个单词后没有保留单词之间的空格,直接拼接会把所有单词连到一起。

修复方案

实现方式1:循环累加(直观易理解)

def capitalize_n(s, n):
    result = ""
    for word in s.split():
        # 用 += 累加处理后的单词,末尾加空格做分隔
        result += word[:n].lower() + word[n:].capitalize() + " "
    # 去掉末尾多余的空格后返回
    return result.rstrip()

实现方式2:列表存储后拼接(性能更优,推荐)

def capitalize_n(s, n):
    processed_words = []
    for word in s.split():
        processed_words.append(word[:n].lower() + word[n:].capitalize())
    return " ".join(processed_words)

运行验证

调用capitalize_n('hello world', 1),输出结果为:

hEllo wOrld

符合每个单词第二个字母大写的预期需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:06:03