如何修改Pig Latin翻译函数 实现单词标点移除翻译后回加功能
适配末尾标点的Pig Latin翻译代码调整
核心逻辑调整
- 先提取单词末尾的句号、逗号单独暂存,避免标点干扰翻译规则
- 仅对剔除标点后的文本执行原有翻译逻辑
- 翻译完成后将暂存的标点补回结果末尾
调整后完整代码
# 元音集合声明,原代码缺失该依赖变量 vowels = {'a', 'e', 'i', 'o', 'u'} def translateWordToPigLatin(word): translatedWord = "" # 存储末尾提取的标点 suffix_punct = "" # 提取末尾的逗号或句号 if len(word) > 0 and word[-1] in ('.', ','): suffix_punct = word[-1] word = word[:-1] if len(word) > 0: # 数字直接返回,保留原逻辑 if word.isdigit(): return word + suffix_punct # 元音开头翻译规则 if word[0].lower() in vowels: translatedWord = word + 'yay' # 辅音开头翻译规则 else: translatedWord = word[1:] + word[0] + "ay" # 翻译结果追加标点后返回,兼容仅输入标点的极端场景 return translatedWord.capitalize() + suffix_punct
效果验证
| 输入内容 | 输出结果 | 说明 |
|---|---|---|
hello, | Ellohay, | 带逗号的辅音开头单词正常处理 |
apple. | Appleyay. | 带句号的元音开头单词正常处理 |
4399, | 4399, | 带标点的数字正常处理 |
world | Orldway | 无标点的普通单词完全兼容原有逻辑 |
内容的提问来源于stack exchange,提问作者QuackzSD
相关产品推荐
相关产品推荐

