空列表中的Python Anagrams

时间:2012-03-17 01:20:19

标签: python dictionary anagram

问题:编写一个初始化空列表的程序,然后提示用户输入单个单词并保持提示单个单词,将每个单词添加到列表中,直到用户输入单个句点字符'。'然后打印所有字符串,这些字是字谜。比较应该不区分大小写。 - 可以简单地使用字典,但不是必需的。可以定义适合的函数。

我已经尝试了下面几个版本的代码,我似乎无法弄清楚我做错了什么。有人可以帮助我指出正确的方向/给我一个类似的示例代码吗?我只是被困住了。

def areAnagrams(inputList):
    """Return inputList if words are anagrams, False otherwise"""
    inputList = sorted(inputList.lower())
    return inputList

inputList = raw_input ("Enter a word period to end: ") 
list = []
while inputList != '.':
    anagram = inputList
    list.append(anagram)
    inputList = raw_input("Enter a word (period to end): ")


print "Anagrams:", areAnagrams(inputList)

1 个答案:

答案 0 :(得分:1)

只关注检查两个单词是否为字谜的部分,您的功能需要检查两个单词是否长度相同,并且包含所有相同的字母。所以你可以这样做:

def areAnagrams(word1, word2):
    if len(word1) == len(word2):
        word1Letters = sorted(list(word1))
        word2Letters = sorted(list(word2))
        if word1Letters == word2Letters:
            return True
        else:
            return False
    else: 
        return False