我遇到问题让我的“中断循环”工作,它不会抛出任何错误,所以我甚至看不到发生了什么。当我告诉脚本开始闪烁我的LED时,它是选项3。最初我正在研究一些方法,如果有一种方法来运行你的循环并在循环仍在运行时返回你的MainMenu,但那不是选项,所以我想尝试类似于使用“for number in范围(10):“
def loop():
while True:
os.system('clear')
print
print ('1. ON')
print ('2. OFF')
print ('3. Blink')
print
choice = int(raw_input('1-[ON], 2-[OFF]: '))
if choice == 1:
print
print ('Turning ON')
GPIO.output(LedPin, GPIO.LOW) # Led ON
elif choice == 2:
print
print ('Turning OFF')
GPIO.output(LedPin, GPIO.HIGH) # Led OFF
elif choice == 3:
number = 0
for number in range(10):
number = number + 1
if number == 5:
break
GPIO.output(LedPin, GPIO.LOW + str(number)) # Led ON
time.sleep(0.05)
GPIO.output(LedPin, GPIO.HIGH + str(number)) # Led OFF
time.sleep(0.05)
#print ('Number is ' + str(number))
这个例子很好用:
number = 0
for number in range(10):
number = number + 1
if number == 5:
break # break here
print('Number is ' + str(number))
print('Out of loop')
输出:
Number is 1
Number is 2
Number is 3
Number is 4
Out of loop
答案 0 :(得分:0)
如果我理解正确,你想要在数字== 5
时切换灯光elif choice == 3: for number in range(0,5): GPIO.output(LedPin, GPIO.LOW + str(number)) # Led ON time.sleep(0.05) GPIO.output(LedPin, GPIO.HIGH + str(number)) # Led OFF time.sleep(0.05) #print ('Number is ' + str(number)) #will be 4, went 5 times
答案 1 :(得分:-2)
我不知道这是否会有所帮助,但可能会尝试使用quit或while循环来代替:
当数字== 5时:
退出(这将使你的程序停止)
但是,即使你使用break,在它之后编写代码也没有意义,所以可能会注释掉它后面的代码,看它是否有效。