Python Fehler: Verzweigungsbaum funktioniert nicht.

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
Kireznieh
User
Beiträge: 2
Registriert: Sonntag 16. Oktober 2016, 11:58

Code: Alles auswählen

Frage1 = input(Frage1)
if (Frage1 == "ja"):
    input(Frage2)
elif (Frage1 == "nein"):
    input(Frage3)
Frage2 = input(Frage2)
if (Frage2 == "ja"):
    input(Frage4)
elif (Frage2 == "nein"):
    input(Frage5)
Frage3 = input(Frage3)
if (Frage3 == "ja"):
    input(Frage6)
elif (Frage3 == "nein"):
    input(Frage7)
Frage4 = input(Frage4)
if (Frage4 == "ja"):
    input(Frage8)
elif (Frage4 == "nein"):
    input(Frage9)
Frage5 = input(Frage5)
if (Frage5 == "ja"):
    input(Frage10)
elif (Frage5 == "nein"):
    input(Frage11)
Frage6 = input(Frage6)
if (Frage6 == "ja"):
    input(Frage12)
elif (Frage6 == "nein"):
    input(Frage13)
Frage7 = input(Frage7)
if (Frage7 == "ja"):
    input(Frage14)
elif (Frage7 == "nein"):
    input(Frage15)
Frage8 = input(Frage8)
if (Frage8 == "ja"):
    print("Du magst:Obst,Äpfel,Bananen,Ananas")
elif (Frage8 == "nein"):
    print("Du magst:Obst,Äpfel,Bananen")
Frage9 =("Magst du Erdbeeren?")
if (Frage9 == "ja"):
    print("Du magst:Obst,Äpfel,Bananen,Erdbeeren")
elif (Frage9 == "nein"):
    print("Du magst:Obst,Äpfel,Bananen")
Frage10 = ("Magst du Kiwis?")
if (Frage10 == "ja"):
    print("Du magst:Obst,Trauben;Kiwis")
elif (Frage10 == "nein"):
    print("Du magst:Obst,Trauben")
Frage11 = ("Magst du Zwetschken?")
if (Frage11 == "ja"):
    print("Du magst:Obst,Zwetschken")
elif (Frage11 == "nein"):
    print("Du magst:Obst")
Frage12 = ("Magst du Wassermelone?")
if (Frage12 == "ja"):
    print("Du magst:Birnen,Wassermelonen")
elif (Frage12 == "nein"):
    print("Du magst:Birnen")
Frage13 = ("Magst du Orangen?")
if (Frage13 == "ja"):
    print("Du magst:Birnen")
elif (Frage13 == "nein"):
    print("Du magst:Birnen")
Frage14 = ("Magst du Mango?")
if (Frage14 == "ja"):
    print("Du magst:Mangos")
elif (Frage14 == "nein"):
    print("Du magst: Nichts Aufgelistetes")
Frage15 = ("Magst du Himbeeren?")
if (Frage15 == "ja"):
    print("Du magst:Mangos")
elif (Frage15 == "nein"):
    print("Du magst:Himbeeren")
Nun habe ich das Problem das egal was ich eingebe immer die/das Früchte/Obst aufgelistet wird. Wie kann ich das ändern?

Danke im Voraus
Kireznieh
Zuletzt geändert von Anonymous am Sonntag 16. Oktober 2016, 12:21, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@Kireznieh: Das ist so nicht lauffähig weil die ganzen `Frage*`-Namen nicht definiert sind. Ich denke auch nicht das es Sinn macht hier anzufangen nach einem Fehler zu suchen, weil der Code an sich so nicht aussehen sollte. Wenn man durchnummerierte Namen hat, ist das in aller Regel schon ein Zeichen, dass man etwas falsch macht und eigentlich eine Datenstruktur verwenden will. Oft ist das eine Liste. Damit würde man dann auch diesen ganzen sich wiederholenden Codestrukturen beseitigen.

Man sollte einen Namen auch nicht für verschiedene Dinge verwenden. Eine Frage ist etwas anderes als eine Antwort, das sollte nicht beides Frage heissen, und schon gar nicht sollte man die Antwort an den selben Namen binden der vorher an die Frage gebunden war. Das ist sehr verwirrend.

Die ganze Klammern um die Bedingungen gehören da nicht hin.

Es werden an einigen Stellen Eingaben vom Benutzer angefordert, die nicht weiterverarbeitet werden. Das macht keinen Sinn.
Kireznieh
User
Beiträge: 2
Registriert: Sonntag 16. Oktober 2016, 11:58

abc
Antworten