我在while循環中遇到if語句有問題。Python - if語句裏面while循環沒有響應
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 = ''
while循環應該檢查是否從入插件的輸入匹配的答案,但即使答案是正確的它轉到else語句。我在打印輸入的if語句之前有兩個打印語句,而且它的答案是什麼,只是它沒有,但它確實顯示了它。我也認爲它可能是字符串和整數的混合,所以我把答案列表中的所有答案都改成了沒有運氣的字符串。 任何人都能弄清楚它有什麼問題嗎? 在此先感謝。
只是使用常識。如果它轉到'else','e1 == answerx和e2 == answery'不是真的。期。現在,找出原因。你有沒有檢查過這些變量的類型和值?一些跟蹤消息可以創造奇蹟...... –
只是從查看代碼的觀察,但你確定你並不是要將'entryx'和'entryy'與'answerx'和'answery'進行比較嗎?因爲這是您在比較前打印的內容。目前您正在比較您未打印的'e1'和'e2'進行視覺驗證。 – justinfay
@KarolyHorvath OP說:「即使答案是正確的,它也會轉到else語句」。 – TerryA