Text Datei einlesen, liste erstellen, in if verwenden
Verfasst: Montag 16. Februar 2015, 11:13
Hallo
bin ja immer noch bei meinem Spiel und habe nun folgendes Problem
ich schreibe die Fragen händisch in eine Textdatei, die sehen dann so aus
Frage1: Wer gehört neben Dieter Bohlen zu „Modern Talking“?
(A) : Thomas Anders
(B) : Robbie Williams
(C) : Mark Medlock
(D) : Daniel Küblböck
A
Wenn ich nun in der letzten Zeile KEIN Enter drücke, liest die folgende if abfrage den Buchstaben A richtig aus
mit print (inhalt) kommt diese Ausgabe
['Frage2: Wer gehört neben Dieter Bohlen zu „Modern Talking“?\n', '(A) : Thomas Anders\n', '(B) : Robbie Williams\n', '(C) : Mark Medlock\n', '(D) : Daniel Küblböck\n', 'A']
mache ich aber ein Enter nach dem A, sagt er mit das A != A ist
wenn ich mir dann die Liste ausgeben lasse, sieht die so aus
['Frage1: Wer gehört neben Dieter Bohlen zu „Modern Talking“?\n', '(A) : Thomas Anders\n', '(B) : Robbie Williams\n', '(C) : Mark Medlock\n', '(D) : Daniel Küblböck\n', 'A\n']
heißt die A hat noch ein \n hinten dran hängen
hab bei with open(dateiname, 'r') as f: schon rU und sämtliche codecs ausprobiert, geht leider nichts
hier die Fragen:
1: kann ich das verhindern, dass ein \n ausgelesen wird
2: kann ich bei if antwort_user == inhalt[5]: angeben, dass nur das ERSTE Zeichen von Zeile[5] gemeint ist
Danke für die Hilfe
bin ja immer noch bei meinem Spiel und habe nun folgendes Problem
ich schreibe die Fragen händisch in eine Textdatei, die sehen dann so aus
Frage1: Wer gehört neben Dieter Bohlen zu „Modern Talking“?
(A) : Thomas Anders
(B) : Robbie Williams
(C) : Mark Medlock
(D) : Daniel Küblböck
A
Wenn ich nun in der letzten Zeile KEIN Enter drücke, liest die folgende if abfrage den Buchstaben A richtig aus
Code: Alles auswählen
def antwort_pruefen(fragennummer):
dateiname = fragennummer
with open(dateiname, 'r') as f:
inhalt = [(line) for line in f]
antwort_user = input("Ihre Antwort: ")
if antwort_user == inhalt[5]:
print ("\n")
print ("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
print ("Super, die richtige Antwort war ", inhalt[5])
print ("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n")
else:
print ("\n")
print ("-----------------------------------------------------------------")
print ("Schade, die richtige Antwort war ", inhalt[5])
print ("-----------------------------------------------------------------\n")
['Frage2: Wer gehört neben Dieter Bohlen zu „Modern Talking“?\n', '(A) : Thomas Anders\n', '(B) : Robbie Williams\n', '(C) : Mark Medlock\n', '(D) : Daniel Küblböck\n', 'A']
mache ich aber ein Enter nach dem A, sagt er mit das A != A ist
wenn ich mir dann die Liste ausgeben lasse, sieht die so aus
['Frage1: Wer gehört neben Dieter Bohlen zu „Modern Talking“?\n', '(A) : Thomas Anders\n', '(B) : Robbie Williams\n', '(C) : Mark Medlock\n', '(D) : Daniel Küblböck\n', 'A\n']
heißt die A hat noch ein \n hinten dran hängen
hab bei with open(dateiname, 'r') as f: schon rU und sämtliche codecs ausprobiert, geht leider nichts
hier die Fragen:
1: kann ich das verhindern, dass ein \n ausgelesen wird
2: kann ich bei if antwort_user == inhalt[5]: angeben, dass nur das ERSTE Zeichen von Zeile[5] gemeint ist
Danke für die Hilfe