如何修复python中的无限循环

2024-09-28 18:58:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始学习python和RPi。但我坚持:D 我有4个微动开关,和一些可能性(BC1,BC2,BC3。。。等等)。例如,如果我们选择可能性BC1,则微动开关1(btn1)和2(btn2)必须处于活动状态,如果该情况为真,则ledG1和vazduh处于活动状态。此外,我需要有一个posibiliti插入另一个posibiliti(BC1,BC2,BC3),直到我们插入另一个posibility首先必须是活动的(如果请求的开关是活动的)。你知道吗

有了这个代码,它的工作,但要求我只有一次插入的可能性。你知道吗

BC1 = '1'
BC2 = '2'
BC3 = '3'
BC4 = '4'
BC5 = '5'

def compare ():
    while True:
        Barcode = input("Insert barcode: ")
        while Barcode == BC1:
            if GPIO.input(btn1)==0 and GPIO.input(btn2)==0:
                GPIO.output(vazduh, GPIO.HIGH)
                GPIO.output(ledG1, GPIO.HIGH)
                continue
            else:
                GPIO.output(vazduh, GPIO.LOW)
                GPIO.output(ledG1, GPIO.LOW)
                continue                
        while Barcode == BC2:
            if GPIO.input(btn2)==0 and GPIO.input(btn4)==0:
                GPIO.output(vazduh, GPIO.HIGH)
                GPIO.output(ledG3, GPIO.HIGH)
                continue
            else:
                GPIO.output(vazduh, GPIO.LOW)
                GPIO.output(ledG3, GPIO.LOW)
                continue


compare ()

Tags: inputoutputgpio可能性barcodelowhighcontinue
1条回答
网友
1楼 · 发布于 2024-09-28 18:58:48

我想您可能想在第一个while的作用域中使用if而不是while。你知道吗

while True:
   Barcode = input("Insert barcode: ")
   if Barcode == BC1:
      #Do something #1
   if Barcode == BC2:
      #Do something #2

相关问题 更多 >