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

如何对句子首个单词应用str.capitalize?Python Pig Latin转换问题

问题根因

  • 拼接转换后句子的逻辑存在问题:你初始化Sentence为空字符串,每次循环都先拼接空格再加转换后的单词,最终得到的Sentence开头会多出一个空格。Python的capitalize()方法只会将字符串的第一个字符转为大写、其余转为小写,当第一个字符是空格时,就不会对后续的单词首字母生效,导致输出全为小写。
  • 直接将输入全转小写的操作如果是符合你需求的可以保留,如果你需要保留原句中其他位置的大写规则(比如专有名词大写)可以再调整,这里先按你当前的需求(仅句子第一个单词首字母大写)修复。

修复后的代码

方案1:用列表拼接更高效(推荐)

sentenc = str(input("Enter a string: ")).lower()
sentence = sentenc.split()
res_list = []
for word in sentence:
    part = word[1:] + word[0] 
    full = part + "ay"
    res_list.append(full)
# 用join拼接不会产生开头多余空格
final = ' '.join(res_list).capitalize()
print(final)

方案2:不改原有拼接逻辑,仅补充去空格操作

Sentence = ""
sentenc= str(input("Enter a string: ")).lower()
sentence = sentenc.split()
for word in sentence:
    part = word[1:] + word[0] 
    full = part + "ay"
    Sentence = Sentence + " " + full
# 先strip去掉首尾空格再调用capitalize
final = Sentence.strip().capitalize()
print(final)

效果验证

输入Hello world时,修复后输出为Ellohay orldway,符合句子首字母大写的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:54:03