我試圖使一個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