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

如何编写Python函数移除单词后缀ness并将heaviness转为heavy?

移除"ness"后缀并修正拼写的实现方案

要处理sadness和heaviness这两个单词,核心需求是去掉后缀"ness",其中heaviness去掉后缀后要把末尾的"i"改成"y",得到heavy。

你的代码存在几个问题:

  • 没必要把字符串转成列表操作,字符串本身就支持切片和修改
  • 判断条件without_ness[:-5] == "i"逻辑错误,应该检查移除后缀后的最后一个字符
  • 列表没有replace方法,这会直接报错

下面是修正后的代码:

def remove_suffix_ness(word):
    # 先判断单词是否以"ness"结尾
    if word.endswith("ness"):
        without_ness = word[:-4]
        # 检查移除后缀后的最后一个字符是否是"i"
        if without_ness[-1] == "i":
            # 替换最后一个"i"为"y"
            return without_ness[:-1] + "y"
        else:
            return without_ness
    # 不是以"ness"结尾的单词直接返回原词
    return word

# 测试
print(remove_suffix_ness("sadness"))  # 输出: sad
print(remove_suffix_ness("heaviness"))  # 输出: heavy

代码说明:

  • 用endswith("ness")先做判断,避免处理不符合要求的单词
  • 直接对字符串切片word[:-4]去掉最后4个字符(即"ness")
  • 检查处理后的字符串最后一位是否为"i",如果是就切掉最后一位再加"y",否则直接返回
  • 函数用return而不是直接打印,更灵活复用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:09:50