Python - wenn-Anweisung in der while-Schleife nicht mehr reagiert

Ich habe Probleme mit einer if-Anweisung innerhalb einer while-Schleife.

while pressed == 8 :
    print(answerlistx[randomimage], answerlisty[randomimage])
    entryx = e1.get()
    entryy = e2.get()
    answerx = answerlistx[randomimage]
    answery = answerlisty[randomimage]
    print(entryx, entryy)
    if e1 == answerx and e2 == answery:
        print("correct")
        canvas.delete(images)
        randomimage = random.randrange(0,49+1)
        scorecounter = scorecounter + 1
        game = PhotoImage(file=imagelist[randomimage])
        images = canvas.create_image(30, 65, image = game, anchor = NW)
        e1.delete(0, END)   
        e2.delete(0, END)
        pressed = ''
    else:
        print("incorrect")
        e1.delete(0, END)   
        e2.delete(0, END)
        pressed = ''

Die while-Schleife soll überprüfen, ob die Eingaben aus dem Eingabe-widget match die Antwort, aber selbst wenn die Antwort richtig ist, geht es an die else-Anweisung. Ich habe 2 print-Anweisung einfach vor der if-Anweisung, die druckt die Eingangs-und was die Antwort ist nur Hüllen, die es nicht haben, aber es zeigt es richtig. Ich dachte auch, es hätte eine Verwechslung mit strings und zahlen, also änderte ich alle Antworten in der answerlist strings mit kein Glück.
Jemand in der Lage, herauszufinden, was falsch mit ihm?
Vielen Dank im Voraus.

  • Benutzen Sie einfach gesunden Menschenverstand. Wenn es geht else, e1 == answerx and e2 == answery ist nicht wahr. ZEITRAUM. jetzt, herauszufinden, warum. Haben Sie überprüft, was der Typ und Wert der Variablen? einige trace-Meldungen können Wunder tun...
  • Der OP sagt: "auch wenn die Antwort korrekt ist, geht es an die else-Anweisung".
  • Nur eine Beobachtung aus der Betrachtung der code, aber sind Sie sicher, dass Sie nicht bedeutete, zu vergleichen entryx und entryy mit answerx und answery? wie das ist, was Sie drucken, bevor Sie den Vergleich. Derzeit sind Sie zu vergleichen e1 und e2 sind, die Sie nicht drucken für die visuelle überprüfung.
  • Ich vertraue der python compiler/runtime. Ich kein Vertrauen in die OP. Es ist einfach so.
  • Das ist nicht sehr schön tbh
  • Ich habe gerade versucht tbh 🙂

Schreibe einen Kommentar