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
undentryy
mitanswerx
undanswery
? wie das ist, was Sie drucken, bevor Sie den Vergleich. Derzeit sind Sie zu vergleichene1
unde2
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 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du testen, ob die Eintrag Objekte sind die gleichen wie die Antworten. Die tatsächlichen Werte:
statt testen gegen
e1
unde2
.