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

如何不使用capitalize、upper函数实现单词首字母大写且不修改内部字符

功能修复方案

你两次代码出现异常的核心原因是Python的str.replace()方法默认会替换字符串中所有匹配的子串,你只需要修改首字符,完全不需要调用replace方法操作整个单词。

修正逻辑很简单:将处理后的大写首字符,和原单词从第二个字符开始的剩余部分直接拼接即可,剩余部分可以通过切片word[1:]直接获取,不会改动原有内容。

修正后可正常运行的代码如下:

sentence = str(input("Enter a sentence:"))
sentence = sentence.split()

new = []
for word in sentence:
    first_char_ord = ord(word[0])
    # 首字符为小写英文字母的处理逻辑
    if 97 <= first_char_ord <= 122:
        # 大写首字符 + 原单词从第二位开始的所有内容
        processed_word = chr(first_char_ord - 32) + word[1:]
        new.append(processed_word)
    else:
        # 首字母非小写的情况直接保留原单词
        new.append(word)

# 用空格拼接所有单词,避免末尾出现多余空格
print(" ".join(new))

功能验证

  • 输入helloh worldw,输出Helloh Worldw,符合预期
  • 输入test case a,输出Test Case A,符合预期
  • 输入Hello Java,输出Hello Java,首字母已大写的内容不会被修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 12:36:04