if mit String aus .txt (plz help)
Verfasst: Dienstag 16. Juli 2019, 20:42
Liebe Forum Mitglieder und alle die das lesen.Ich habe eine Frage zum Thema Strings aus einer Text Datei vergleichen.
Mein Beispiel ist ein Vokabeltrainer in den man seine Vokabeln einträgt und diese dann aus der Text Datei abgefragt werden(ich möchte keine Liste verwenden, da diese nicht gespeichert wird nachdem man das Script wieder schließ/abbricht). Doch die if abfrage funktioniert nicht. Ich würde mich sehr über Hilfe freuen, denn ich sitze schon sehr lang an diesem Problem.
Datei de.txt/de_voc:
Hallo
Apfel
Buch
(oder ['Hallo\n', 'Apfel\n', 'Buch\n'])
Datei en.txt/en_voc:
hello
apple
book
(oder ['hello\n', 'apple\n', 'book\n'])
Ich hoffe ich habe mich richtig ausgedrückt und der Code ist nachvollziehbar und verständlich
Mein Beispiel ist ein Vokabeltrainer in den man seine Vokabeln einträgt und diese dann aus der Text Datei abgefragt werden(ich möchte keine Liste verwenden, da diese nicht gespeichert wird nachdem man das Script wieder schließ/abbricht). Doch die if abfrage funktioniert nicht. Ich würde mich sehr über Hilfe freuen, denn ich sitze schon sehr lang an diesem Problem.
Datei de.txt/de_voc:
Hallo
Apfel
Buch
(oder ['Hallo\n', 'Apfel\n', 'Buch\n'])
Datei en.txt/en_voc:
hello
apple
book
(oder ['hello\n', 'apple\n', 'book\n'])
Code: Alles auswählen
#python 3
import random
def eingabe():
while True:
voc_de = open("de.txt", "a")
de = input("Deutsch:")
if de == "stop":
return
voc_de.write(str(de))
voc_de.write("\n") # für eine neue Zeile
voc_de.close()
voc_en = open("en.txt", "a")
en = input("Englisch:")
if en == "stop":
return
voc_en.write(str(en))
voc_en.write("\n")
voc_en.close()
def abfrage():
while True:
de_voc = open("de.txt", "r").readlines() #evtl. read/readline
en_voc = open("en.txt", "r").readlines() #evtl. read/readline
z = random.randint(0, len(de_voc)-1)
ab = de_voc[z]
print("Übersetze:", ab) #die Abfrage von ab/de_voc[z]
ub = input("Übersetzung:") #der user Input
if str(ub) == en_voc[z]: # mein Problem,die if Bedingung funktioniert nicht (nur wenn die komplette Datei abgefragt wird(ohne z )und ich dann halt auch ['hello', .....]angebe)
print("Richtig")
else:
print("Falsch")
while True:
befehl = input("befehle(eingabe/abfrage):")
if befehl == "eingabe":
eingabe()
elif befehl == "abfrage":
abfrage()
else:
print("error")