このプログラムは、入力された文字列のアナグラムを見つけるために使用されます。可能性のあるアナグラムは、テキスト ファイル 'dict.txt' から取得されます。ただし、入力された文字列が辞書にないかどうかを確認しようとしています。入力された文字列が辞書にない場合、プログラムはアナグラムを検索せず、入力された文字列が辞書にないというメッセージを出力するだけです。現在、入力されたすべての文字列が辞書にないというコードが表示されていますが、これは正しくありません。
def anagram(word,checkword):
for letter in word:
if letter in checkword:
checkword = checkword.replace(letter, '')
else:
return False
return True
def print_anagram_list():
if len(word_list) == 2:
print ('The anagrams for', inputted_word, 'are', (' and '.join(word_list)))
elif len(word_list) > 2:
print ('The anagrams for', inputted_word, 'are', (', '.join(word_list[:-1]))+ ' and ' +(word_list[-1]))
elif len(word_list) == 0:
print ('There are no anagrams for', inputted_word)
elif len(word_list) == 1:
print ('The only anagram for', inputted_word, 'is', (''.join(word_list)))
def anagram_finder():
for line in f:
word = line.strip()
if len(word)==len(inputted_word):
if word == inputted_word:
continue
elif anagram(word, inputted_word):
word_list.append(word)
print_anagram_list()
def check(wordcheck):
if wordcheck not in f:
print('The word', wordcheck, 'is not in the dictionary')
while True:
try:
f = open('dict.txt', 'r')
word_list=[]
inputted_word = input('Your word? ').lower()
check(inputted_word)
anagram_finder()
except EOFError:
break
except KeyboardInterrupt:
break
f.close()