gpt4 book ai didi

python - 在 Python 中查找字谜

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:01 25 4
gpt4 key购买 nike

我在 Python 中通过以下方式解决了这个问题:

s1,s2 = raw_input().split()
set1 = set(s1)
set2 = set(s2)
diff = len(set1.intersection(s2))
if(diff == 0)
print "Anagram!"
else:
print "Not Anagram!"

我觉得还不错。但是我教授的程序说我遗漏了一些边缘案例。你能想到我可能错过的任何边缘案例吗?

最佳答案

解决这个问题的正确方法是计算两个字符串中的字符数并比较它们中的每一个以查看所有字符是否相同以及它们的计数是否相同。

Python 有一个 collections.Counter为您完成这项工作。所以,你可以简单地做

from collections import Counter

if Counter(s1) == Counter(s2):
print "Anagram!"
else:
print "Not Anagram!"

如果您不想使用Counter,您可以推出您自己的版本,与普通词典进行比较。

def get_frequency(input_string):
result = {}
for char in input_string:
result[char] = result.get(char, 0) + 1
return result

if get_frequency(s1) == get_frequency(s2):
print "Anagram!"
else:
print "Not Anagram!"

关于python - 在 Python 中查找字谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com