zwei strings mit if vergleichen

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
py-mule
User
Beiträge: 58
Registriert: Samstag 3. Januar 2009, 10:42

Mittwoch 7. Januar 2009, 11:39

Hallo,

was mache ich hier falsch?

Code: Alles auswählen

        datnr = 10
        inhalt_a = open ("a%d.txt" %datnr, "r")

        for line in inhalt_a:
               print line   #nur zu Kontrolle
     
            antwort = raw_input ("Ihre Antwort: ")
            if line == antwort:
                print 'Erfolgsmeldung'
            else
                print 'leider flasch'
das Prog springt nur nach else. Was muss ich ändern, damit if eintrifft?

Danke und Gruß
py-mule
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Mittwoch 7. Januar 2009, 11:46

Der String muss gleich sein:

Code: Alles auswählen

In [1]: "Hallo\n" == "Hallo\n"
Out[1]: True
Zur Kontrolle von solcherlei Dingen solltest du übringens mit repr() arbeiten.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 7. Januar 2009, 11:47

Was muss ich ändern, damit if eintrifft?
Die Einrückung korrigieren und Sicherstellen dass die Antwort des Users und die aus der Datei identisch sind. Ich schätze du hast da irgendwelche überflüssigen Whitespaces, wodurch die Antworten eben nicht gleich sind.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
py-mule
User
Beiträge: 58
Registriert: Samstag 3. Januar 2009, 10:42

Mittwoch 7. Januar 2009, 11:58

Viele Dank.

Whitespace, das wars!
Jetzt funktioniert es.

So einfach kanns manchmal sein.

Gruß
py-mule
Antworten