【发布时间】:2015-05-11 06:06:37
【问题描述】:
我正在尝试制作一个脚本,我可以在其中输入任何单词的字谜,它会从字典中读取以查看是否匹配 (例如 estt 返回:= unjumble words: test)
如果有两个匹配,它会写 (例如 estt 返回:有多个匹配项:test、sett(假设 sett 是一个单词 lol)
我什至连一场比赛都打不开,一直返回“不匹配”,即使我查看从字典制作的列表,我也能看到单词。
这是我目前写的代码
def anagrams(s):
if s =="":
return [s]
else:
ans = []
for w in anagrams(s[1:]):
for pos in range(len(w)+1):
ans.append(w[:pos]+s[0]+w[pos:])
return ans
dic_list = []
def dictionary(filename):
openfile = open(filename,"r")
read_file = openfile.read()
lowercase = read_file.lower()
split_words = lowercase.split()
for words in split_words:
dic_list.append(words)
def main():
dictionary("words.txt")
anagramsinput = anagrams(input("unjumble words here: "))
for anagram in anagramsinput:
if anagram in dic_list:
print(anagram)
else:
print("no match")
break
好像 anagram 不在 dic_list 中。发生了什么事?
【问题讨论】:
-
我们可以看看words.txt
-
我把它做得很小。 docs.google.com/file/d/…
-
您是否确认 dic_list 包含正确的值?
-
你用什么输入词测试了?
-
anagramsinput应该是什么?我不认为你的anagrams函数能达到你的预期
标签: python python-3.x anagram