【发布时间】:2019-04-15 18:02:48
【问题描述】:
我正在编写一个程序,它接受输入字符串并在列表中从文本文件中打印出字符串的所有字谜。
到目前为止,我有以下内容;但什么都没有返回,我不太明白为什么。
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
【问题讨论】:
-
你是怎么调用你的
find_all_anagrams函数的? -
@slider 这样
print(find_all_anagrams('python')) -
find_all_anagrams目前没有返回任何内容。尝试在末尾添加return anagrams_list -
@boonwj 啊,是的。忘记添加了,但是添加后列表中似乎没有任何内容,我不太明白为什么。列表为空,没有找到字谜
-
所以现在这是一个不同的问题:P 您的代码似乎只读取
english_words.txt中的第一行。您是否仅将输入字符串与文件中的 1 个单词进行比较?