为了账号安全,请及时绑定邮箱和手机立即绑定

Python while 循环保持运行总数

Python while 循环保持运行总数

郎朗坤 2021-05-30 00:34:33
我正在做一个项目,该项目将累加分配给按钮的数字,一旦达到或超过该值,它将停止并显示另一条消息。现在,我遇到了一个障碍,那就是如何弄清总体上的运行情况。以下是我迄今为止所拥有的任何指导,将不胜感激。当我选择 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。它不会改变aor的值y。实际上,a除了以它开头的值之外,您永远不会分配任何其他值。

解决方案:在上述行之后,只需添加以下内容:

a = a + y

或者,如果你想更简洁,

a += y

并对有关x和的块执行相同操作z


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号