ich möchte eine Art Telefonbuch erstellen.
Wenn ich ein Teil vom Namen schreibe, soll er mir alle ähnlichen Namen ausgeben.
Bsp.:
Code: Alles auswählen
contacts = {"Jens Follmann" : 123, "Hans Bauer" : 456, "Karl Heinz" : 789, "Theo Schmidt" : 122, "Tim Schmitt" : 133, "Gustav Weber" : 144}
Theo Schmidt 122
Tim Schmitt 133
oder wenn ich "Ba" eingebe soll er mir:
Hans Bauer 456
ausgeben.
Das ganze soll wenn möglich nur mit Modulen aus der Standartbibliothek umgesetzt werden. Ich habe schon mal bisschen gesucht und difflib gefunden, speziell die Funktion get_close_matches. Allerdings liefert mir das nur ungenaue Ergebnisse.
Mein Code:
Code: Alles auswählen
from difflib import get_close_matches
contacts = {"Jens Follmann" : 123, "Hans Bauer" : 456, "Karl Heinz" : 789, "Theo Schmidt" : 122, "Tim Schmitt" : 133, "Gustav Weber" : 144}
similar_names = get_close_matches(input("Bitte Name eingeben: "), contacts.keys(), n = 10)
for name in similar_names:
print(f"{name} {contacts[name]}")
Ich hoffe ich habe mein Problem verständlich rüberbracht und wäre für Hilfe dankbar.