我试图使一个Python程序,发现字谜。这里是我当前的代码:Python 3.3,找到anagrams?
def anagram(word,checkword):
for letter in word:
if letter in checkword:
checkword = checkword.replace(letter, '')
else:
return False
return True
while True:
f = open('listofwords.txt', 'r')
try:
inputted_word = input('Word? ')
for word in f:
word = word.strip()
if len(word)==len(inputted_word):
if word == inputted_word:
continue
elif anagram(word, inputted_word):
print(word)
#try:
#if word == 1:
#print ('The only anagram for', user_input, 'is', word)
#elif word > 1:
#print ('The anagrams for', user_input, 'are', word)
#except TypeError:
#pass
except:
break
我有麻烦
输出的字谜
。字谜应该排成一行,措辞应该反映找到的字谜的数量。如...
“世界上只有一个(插入字谜)为(输入插入Word)”
“有(插入字谜)为(输入插入Word)”
“有对(输入插入Word)”
‘的(输入插入Word)没有字谜未在字典中’)
我们不是在这里做你的功课你。你有什么尝试? – Colleen
好的,我编辑了这个问题。代码中的评论是我尝试过的。 – Ace
您的anagram()函数将返回任何属于另一个单词部分的单词,例如,如果你正在检查'猫'对'撒切尔',你仍然会成为现实。 。 。我建议将这两个单词转换为列表并比较排序列表。 – ernie