我正在做一个项目,该项目将累加分配给按钮的数字,一旦达到或超过该值,它将停止并显示另一条消息。现在,我遇到了一个障碍,那就是如何弄清总体上的运行情况。以下是我迄今为止所拥有的任何指导,将不胜感激。当我选择 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
提交
取消