如何在python中修复无限循环

问题描述 投票:0回答:1

我刚开始使用python和RPi。但我坚持:D我有4个微动开关,并且可能性很小(BC1,BC2,BC3 ......等)。例如,如果我们选择BC1,那么微开关1(btn1)和2(btn2)必须是活动的,如果是这种情况,则ledG1和vazduh是活动的。此外,我需要有一个posibiliti插入另一个posibiliti(BC1,BC2,BC3),直到我们插入另一个可能性首先必须是活动的(如果请求的开关是活动的)。

有了这个代码它正在运行,但只问我一次插入可能性。

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 ()
python loops raspberry-pi3 infinite
1个回答
2
投票

我想你可能想在你的第一个范围内使用if而不是while

while True:
   Barcode = input("Insert barcode: ")
   if Barcode == BC1:
      #Do something #1
   if Barcode == BC2:
      #Do something #2
© www.soinside.com 2019 - 2024. All rights reserved.