ich versuche derzeit wieder mit Hilfe eines Buches den Einstieg in Python zu finden. Nun habe ich einen Beispielcode aus dem Buch übernommen und dieser funktioniert leider nur bis zu einem bestimmten Punkt. Das Programm soll ein simples Dialogfenster öffnen, in das man dann einen Ländernamen eingeben kann und vom Com die dazugehörige Hauptstadt angezeigt bekommt. Sollte man ein Land eingeben, welches nicht bekannt ist (Länder und Hauptstädte sind in einer Textdatei untergebracht, welche sich im selben Ordner befindet wie das Programm selbst), erscheint ein zweites Dialogfenster, in das man dann ein Land samt seiner Hauptstadt eingibt. Dieses neue Paar soll dann automatisch in die Textdatei geschrieben werden. Mein Problem ist nun, dass sobald Python ein Land inklusive Hauptstadt in die Textdatei schreibt, ich eine Fehlermeldung in der Shell bekomme (ValueError:not enough values to unpack (expected 2, got 1).
Hier der Code:
Code: Alles auswählen
from tkinter import Tk, simpledialog, messagebox
def datei_lesen():
with open("hauptstadt.txt") as file:
for line in file:
line = line.rstrip("\n")
land, stadt = line.split("/")
die_welt[land] = stadt
def datei_schreiben(land_name, stadt_name):
with open("hauptstadt.txt", "a") as file:
file.write("\n" + land_name + "/" + stadt_name)
print("Frag Paul - Hauptstädte aus der Welt")
root = Tk()
root.withdraw()
die_welt = {}
datei_lesen()
while True:
abfrage_land = simpledialog.askstring("Land", "Gib den Namen eines Landes ein:")
if abfrage_land in die_welt:
ergebnis = die_welt[abfrage_land]
messagebox.showinfo("Antwort", "Die Hauptstadt von " + abfrage_land + " ist " + ergebnis + "!")
else:
neue_stadt = simpledialog.askstring("Sag es mir", "Keine Ahnung! " + "Was ist die Hauptstadt von " + abfrage_land + "?")
die_welt[abfrage_land] = neue_stadt
datei_schreiben(abfrage_land, neue_stadt)
Kann mir jemand einen Hinweis geben, was ich hier falsch mache? Warum kommt die Fehlermeldung wenn ich der Textdatei etwas hinzufüge?
Mit freundlichen Grüßen
peoplez