awacker hat geschrieben:deswegen wollte ich dass mit else lösen, aber leider wird diese dann nach jedem Satz ausgegeben, verstehe nicht wieso...
Code: Alles auswählen
if p:
print 'positive'
if n:
print 'negative'
else:
print 'unclear'
Dein Code passt nicht zu dem was du da beschreibst. Schauen wir doch mal was du da hast. Auf den ersten Blick sehen wir zwei unabhängige if-Statements. Das erste ist nach dem
print 'positive' beendet und hat keinerlei Einfluss auf den folgenden Code. Übrig bleibt also Folgendes:
Der else-Zweig wird in jeder Python-Implementierung (eigentlich sogar in jeder mir bekannten Programmiersprache) nur dann ausgeführt, wenn der if-Zweig nicht ausgeführt wird. Du sagst jetzt, dass das bei dir anders ist. Du bekommst also laut deiner Aussage die Ausgaben
negative und
unclear direkt hintereinander. Normalerweise sollte man da direkt einen Exorzisten holen der ein paar Liter Weihwasser direkt in den Rechner kippt, aber wir können ja noch mal versuchen dem Rätsel auf den Grund zu gehen.
Gib doch mal sowohl im if-Zweig wie auch im else-Zweig außer dem statischen Text zusätzlich noch den Wert von
n aus. Mich interessiert ja nun wirklich brennend welcher Wert dafür sorgt, dass diese zwei Programmteile (die laut Definition keinesfalls beide durchlaufen werden können) beide durchlaufen werden.
Ehrlich gesagt vermute ich allerdings eher, dass du ein massives Wissensdefizit bei deinen Programmierkenntnissen hast.