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

zwei strings mit if vergleichen

Beitragvon py-mule » Mittwoch 7. Januar 2009, 11:39

Hallo,

was mache ich hier falsch?
[code=]
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'
[/code]

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

Beitragvon str1442 » 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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » 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

Beitragvon py-mule » Mittwoch 7. Januar 2009, 11:58

Viele Dank.

Whitespace, das wars!
Jetzt funktioniert es.

So einfach kanns manchmal sein.

Gruß
py-mule

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder