M
mrpac
Mitglied
- Dabei seit
- 23.10.2004
- Beiträge
- 46
- Reaktionspunkte
- 0
Hier mal meine quick an dirty Lösung in Python als Kommandozeilenbasiertes Programm:
Meine Idee war das ich ein Wörterbuch verwende und alle Einträge in einem Dictionary abspeichere. Ein Dictionary besteht ja aus n Key:Value Tupeln. Als Key nehme ich das Wort aus dem Wörterbuch bei dem die Buchstaben aufsteigend sortiert sind. Als Value nehme das Wort ansich. Da ja mehr Wörter aus einer Buchstabenfolge bestehen können sind die Wörter, die als Value verwendet werden in einer Liste abgespeichert. Ich habs hier unter Linux gemacht und es funktioniert. Das Wörterbuch sollte ein Textfile sein bei dem jedes Wort in einer eigenen Zeile steht.
Code:
dict = {}
def create_dict():
file = open("/usr/share/dict/words")
for line in file:
word = line.strip()
key = create_key(word)
if dict.has_key(key):
dict[key].append(word)
else:
dict[key] = [word]
def create_key(string):
list = map(None, string)
list.sort()
return ''.join(list)
def interface():
create_dict()
while True:
input = raw_input("Zu suchende Buchstaben: ")
key = create_key(input)
if dict.has_key(key):
print "Gefunden: ", dict[key]
else:
print "Leider kein Wort gefunden :-("
interface()
Meine Idee war das ich ein Wörterbuch verwende und alle Einträge in einem Dictionary abspeichere. Ein Dictionary besteht ja aus n Key:Value Tupeln. Als Key nehme ich das Wort aus dem Wörterbuch bei dem die Buchstaben aufsteigend sortiert sind. Als Value nehme das Wort ansich. Da ja mehr Wörter aus einer Buchstabenfolge bestehen können sind die Wörter, die als Value verwendet werden in einer Liste abgespeichert. Ich habs hier unter Linux gemacht und es funktioniert. Das Wörterbuch sollte ein Textfile sein bei dem jedes Wort in einer eigenen Zeile steht.