我正在研究一个项目,该项目将累加分配给按钮的数字,一旦达到或超过该值,它将停止并显示另一条消息。现在,我遇到了一个障碍,那就是如何弄清总体上的运行情况。以下是我到目前为止所获得的任何指导。当我选择10时,我注意到一个问题,它也不会停止循环。
import time
from time import sleep
import Adafruit_CharLCD as LCD
lcd = 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)
答案 0 :(得分:3)
您的问题是您永远不会更新a
。您可能希望这样做的语句:
lcd.message("%02d" % (a+y))
只计算a+y
的值。它不会更改a
或y
的值。实际上,除了以a
开头的值之外,您再也不会给它分配其他任何值。
解决方案:在上面一行之后,只需添加以下内容:
a = a + y
或者,如果您想更加简洁,
a += y
并对与x
和z
有关的块执行相同的操作。
答案 1 :(得分:0)
您需要在循环内更改{
"_index": "members",
"_type": "doc",
"_id": "1234567",
"_score": 2,
"_source": {
"mailOpens": [
{
"created": "04/26/2017",
"mailingId": 1
},
{
"created": "07/14/2017",
"mailingId": 2
},
{
"created": "07/14/2017",
"mailingId": 3
},
{
"created": "07/14/2017",
"mailingId": 4
}
]
}
}
,例如在按键时将a
,y
或x
添加到z
:
a