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

Python实现Anagram(变位词)判断并新增相同单词判定的方法

修改Python代码以加入“相同单词”判定逻辑

需求说明

需针对以下三种场景给出对应判定:

  • cat - kitten → 不是Anagram(变位词)
  • cat - act → 是Anagram(变位词)
  • cat - cat → 判定为“相同单词”

原代码问题分析

原代码仅实现了变位词的判断逻辑,未区分“相同单词”与“变位词”,且存在冗余的重复排序操作(变量a本身已是排序后的结果)。

修改后的代码

s1 = input("请输入第一个单词:")
s2 = input("请输入第二个单词:")

# 预处理:统一转小写,仅保留字母字符
s1_clean = ''.join([s.lower() for s in s1 if s.isalpha()])
s2_clean = ''.join([s.lower() for s in s2 if s.isalpha()])

if s1_clean == s2_clean:
    print("相同单词")
elif sorted(s1_clean) == sorted(s2_clean):
    print("是Anagram(变位词)")
else:
    print("不是Anagram(变位词)")

改动说明

  1. 预处理优化:将原代码生成的排序字符列表改为拼接成完整字符串,便于直接判断是否为相同单词
  2. 优先级调整:把“相同单词”的判断放在最前面,优先级高于变位词判断
  3. 性能优化:移除原代码中冗余的sorted(a)重复排序操作,直接对预处理后的字符串进行排序比较

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:30:49