我正在做一個項目,該項目將累加分配給按鈕的數字,一旦達到或超過該值,它將停止并顯示另一條消息?,F在,我遇到了一個障礙,那就是如何弄清總體上的運行情況。以下是我迄今為止所擁有的任何指導,將不勝感激。當我選擇 10 時,我注意到一個問題,它也不會停止循環。import timefrom time import sleepimport Adafruit_CharLCD as LCDlcd = LCD.Adafruit_CharLCDPlate()while True: x= 1 y= 10 z= 5 a= 0 lcd.message("Today's Lunch\n only $10 ") #This displays beginning message lcd.set_color(0.0, 0.0, 1.0) while a<=10: if lcd.is_pressed(LCD.RIGHT): lcd.clear() lcd.set_color(1.0, 0.0, 0.0) lcd.message(' Total: $') lcd.message("%02d" % (a+y)) sleep(1) elif lcd.is_pressed(LCD.LEFT): lcd.clear() lcd.set_color(1.0, 0.0, 0.0) lcd.message(' Total: $') lcd.message("%02d" % (a+x)) sleep(1) elif lcd.is_pressed(LCD.DOWN): lcd.clear() lcd.set_color(1.0, 0.0, 0.0) lcd.message(' Total: $') lcd.message("%02d" % (a+z)) sleep(1) else: lcd.clear() lcd.set_color(1.0, 1.0, 0.0) lcd.message('Enjoy \n Your Paper') sleep(4)
2 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
您的問題是您從不更新a
. 您可能期望這樣做的語句:
lcd.message("%02d" % (a+y))
只計算 的值a+y
。它不會改變a
or的值y
。實際上,a
除了以它開頭的值之外,您永遠不會分配任何其他值。
解決方案:在上述行之后,只需添加以下內容:
a = a + y
或者,如果你想更簡潔,
a += y
并對有關x
和的塊執行相同操作z
。
添加回答
舉報
0/150
提交
取消