从文本文件中打印给定字符串的所有字谜

Printing all anagrams of a given string from a text file

我正在编写一个程序,该程序从文本文件中获取输入字符串并在列表中打印出该字符串的所有字谜。

到目前为止,我得到了以下信息;但是什么都没有返回,我不太明白为什么。

def anagrams( s1, s2 ):
    s1_list = list(s1.lower())
    s1_list.sort()
    s2_list = list(s2.lower())
    s2_list.sort()

    if s1.lower() == s2.lower():
        return(False)
    elif s1_list == s2_list:
        return(True)
    else:
        return(False) 

def find_all_anagrams( string ):

    anagrams_list = []

    with open("english_words.txt", "r") as fileObject:

        line = fileObject.readline()

        if anagrams(string, line):
            anagrams_list.append(line)
    return anagrams_list

您需要遍历 english_words.txt 中的所有单词(我假设每行一个)。在调用 anagrams().

之前,您还需要从每个单词中删除所有换行符
def find_all_anagrams( string ):
    anagrams_list = []
    with open("english_words.txt", "r") as fileObject:
        for line in fileObject: # check all lines
            word = line.strip() # strip newline characters
            if anagrams(string, word):
                anagrams_list.append(word)
    return anagrams_list # finally return results