猿问

Python while 循环保持运行总数

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


郎朗坤
浏览 211回答 2
2回答

千巷猫影

您的问题是您从不更新a.&nbsp;您可能期望这样做的语句:lcd.message("%02d"&nbsp;%&nbsp;(a+y))只计算 的值a+y。它不会改变aor的值y。实际上,a除了以它开头的值之外,您永远不会分配任何其他值。解决方案:在上述行之后,只需添加以下内容:a&nbsp;=&nbsp;a&nbsp;+&nbsp;y或者,如果你想更简洁,a&nbsp;+=&nbsp;y并对有关x和的块执行相同操作z。
随时随地看视频慕课网APP

相关分类

Python
我要回答