Seite 1 von 1
Bundesland in Dictionary einfügen
Verfasst: Donnerstag 8. Juni 2017, 20:56
von PythonUserEiner
Ich habe ein leeres Dictionary. In dem muss ich die Bundesländer einfügen. Doch wie mache ich das? Mein Code funktioniert nämlich nicht.
Code: Alles auswählen
def bundeslandeinfuegen():
dicti = {}
bundesland = input("Gib das Bundesland ein! ")
while bundesland:
new = {bundesland}
if bundesland not in dicti:
dicti.update(new)
bundesland = input("Gib das Bundesland ein! ")
return dict
WIe mache ich das also?
Re: Bundesland in Dictionary einfügen
Verfasst: Donnerstag 8. Juni 2017, 21:00
von PythonUserEiner
Es kommt übrigens immer ein NameError heraus. z.b. "Wien is not defined."
Re: Bundesland in Dictionary einfügen
Verfasst: Donnerstag 8. Juni 2017, 21:25
von BlackJack
@PythonUserEiner: Du verwendest Python 2 und da nimmt man `raw_input()` für Benutzereingaben.
Der Code zur Eingabe sollte sich übrigens nicht wiederholen. Dafür schreibt man üblicherweise eine ”Endlosschleife” (``while True:``) und bricht die dann bei Bedarf mit ``break`` ab.
Re: Bundesland in Dictionary einfügen
Verfasst: Donnerstag 8. Juni 2017, 21:31
von Sirius3
@PythonUserEiner: zusätz zu dem was BlackJack schreibt: Du definierst dicti, gibst aber dict zurück. Wenn man ein Element einem Set hinzufügen möchte, nimmt man add. Sobald man ein Bundesland doppelt eingibt, landet man in einer Endlosschleife.
Re: Bundesland in Dictionary einfügen
Verfasst: Donnerstag 8. Juni 2017, 21:49
von PythonUserEiner
ich benutze python 3.1. return dict war nur ein Tippfehler. Ich wollte dicti zurückgeben
Re: Bundesland in Dictionary einfügen
Verfasst: Donnerstag 8. Juni 2017, 22:48
von BlackJack
@PythonUserEiner: Die Fehlermeldung sagt uns aber das es Python 2.x ist und nicht 3.
Re: Bundesland in Dictionary einfügen
Verfasst: Sonntag 11. Juni 2017, 11:51
von pixewakb
Unter Python 3 läuft es nicht.
Dumm gefragt: Warum der Umweg über ein Wörterbuch, ich hätte da eine Liste verwendet. Warum man 16 Strings nicht direkt in den Quellcode packt, verstehe ich auch so nicht. (Den Quellcode habe ich so auch noch nicht gesehen...)