Daten aus einer Datei auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
AmITwist
User
Beiträge: 2
Registriert: Freitag 30. Oktober 2015, 11:47

Guten Tag, liebe python-forum community.
Ich bin noch ein ziemlicher Grünschnabel wenn es um's Programmieren geht und stehe momentan etwas auf dem Schlauch :|
Ich habe selber schon hin und her rumprobiert (selber denken bringt ja einen langfristig am weitesten) allerdings keine Lösung zu meinem folgenden Problem gefunden.

Um Python zu "lernen" oder wenigsten die Grundlagen arbeite ich ein Buch durch (hilft mir persönlich besser als Internet-Tutorials) und bin beim Thema "Daten aus einer Datei auslesen" hängen geblieben.
Die Aufgabe war es eine Art Wörterbuch zu schreiben in der Form, dass wenn ich z.B.: "Germany" eingebe das Programm mir "Deutschland" ausgibt. Das ganze soll zur Veranschaulichung von der sinnvollen Nutzung von Dictionarys dienen.
Im Vorfeld habe ich eine externe .txt angefertigt "woerterbuch.txt" in der mein "Wörterbuch steht.
So weit so gut. Hier einmal mein geschriebenes :
woerterbuch.txt
Spain Spanien
Germany Deutschland
Sweden Schweden
France Frankreich
Italy Italien
England England
Russia Russland
Austria Österreich

DatenAuslesen_Wörterbuch.py

Code: Alles auswählen

woerter={}
fobj=open ("woerterbuch.txt", "r") #source wird angelegt und funktion(=read)
for line in fobj:
	line=line.strip() #um Whitespaces "/n" weg zu bekommen
	zuordnung=line.split(" ") #Trennen der Woerter in Spalten nach bzw. vor dem Leerzeichen
	woerter[zuordnung[0]] =zuordnung[1] #Dictionary wird erweitert(erlauutert) zuordnung0=englisch und zuordnung1=deutsch
	print(woerter) 
fobj.close()
while True:
	wort =("Geben Sie ihr Wort ein: ") # gegebenes wort
	if wort in woerter:
		print("Das deutsche Wort lautet:", woerter[wort]) #dazugehoeriger Schluessel soll ausgelesen werden
	else:
		print("Das Wort ist unbekannt.") #falls unbekanntes wort angegeben wird
Mein Problem besteht jetzt darin, dass sobald ich das Programm starte, die "if"- Bedingung direkt nicht zu trifft, nicht einmal ohne, dass ich etwas eingeben kann :oops:
direkt wird das "else" in Dauerschleife ausgegeben :K
Lang Rede kurzer Sinn: Könnte jemand von den Erfahreneren Leuten hier evtl. mal drüber schauen und mir mit kurzer Erläuterung meinen Fehler erklären :K
Ich wäre ausgesprochen dankbar :)
mfg AmITwist
stefanbunde
User
Beiträge: 29
Registriert: Dienstag 20. Oktober 2015, 12:59

naja ... du iterierst über eine zuweisung und eine if-abfrage mit print in einer dauerschleife.
du müsstest natürlich dafür sorgen, dass mal irgendwann ein stop eingelegt wird und eine eingabe erwartet wird.

in zeile 10 solltest du vllt sowas machen wie

Code: Alles auswählen

wort = raw_input("Geben Sie ihr Wort ein: ")
dann steht auch mal irgendwann was in "word" und die if-bedingung kann auch mal zuschlagen ;-)
AmITwist
User
Beiträge: 2
Registriert: Freitag 30. Oktober 2015, 11:47

:oops:
Jetzt komme ich mir ein wenig blöd vor :oops:
Naja passiert wohl mal am Anfang :D
Vielen vielen Dank auf jeden Fall :)
Antworten