Ich muss eine Textdatei nach Anagrammen eines bestimmten Wortes durchsuchen. Die Textdatei hat ein Wort pro Zeile. Bis jetzt habe ich es geschafft, eine Funktion zu schreiben, die aus einem gegebenen Wort ein Wörterbuch macht, wobei der Schlüssel ein Buchstabe im Wort ist, und sein Wert ist die Anzahl der Male, die der Buchstabe im Wort ist. Die zweite Funktion durchläuft jede Zeile der Textdatei, erstellt ein zweites Wörterbuch derselben Schlüssel und Werte und vergleicht die beiden. Wenn die beiden gleich sind, fügt die Funktion dieses Wort zu einer Liste hinzu. Sobald die Funktion das Durchlaufen der Textdatei beendet hat, sollte sie die Liste der Anagramme drucken, aber sie druckt eine leere Liste. Hier ist mein Code, ich habe keine Ahnung, wo es falsch läuft.Wie suche ich eine Textdatei nach Anagrammen eines gegebenen Wortes
Dies ist für das Erstellen des Wörterbuchs des angegebenen Wortes.
word= input("Enter a word: ")
letterdict = {}
def count_letters(word,letterdict):
for letter in word:
letterdict[letter] = letterdict.get(letter,0) + 1
return letterdict
print(count_letters(word,letterdict))
dies ist für durch die Textdatei Looping und
def search():
count_letters(word,letterdict)
anagrams = []
letterdict2={}
f = open('EnglishWords.txt', 'r')
for letter in f:
letterdict2[letter] = letterdict2.get(letter,0) + 1
if letterdict == letterdict2:
anagrams.append[f]
letterdict2.clear()
f.close()
anagrams.sort() #put list in alphabetical order
return print(anagrams)
search()
'für Buchstaben in f' ergibt Zeilen, keine Buchstaben – robyschek