限制变量的值,micropython

restrict value of variable, micropython

我目前正在努力学习 micropython。我运行进入我的第一个问题是我不知道如何限制变量的值c(应该是[0;11]) 现在它总是激活 leds -2-112。我怎样才能限制它只激活 LED 0-11?

import leds
import utime
import color
red=color.Color(255,0, 0)
green=color.Color(0, 255, 0)
blue=color.Color(0, 0, 255)
toright=True
a=0
b=0
c=0
while True:
    leds.set(a, red)
    leds.set(b, green)
    leds.set(c, blue)
    utime.sleep_ms(100)
    leds.clear()
    if toright==True:
        a=a+1
        b=a-1
        c=a-2
    else:
        a=a-1
        b=a+1
        c=a+2
    if a==10:
        toright=False
    if a==0:
        toright=True

将数字保持在指定范围内的一种简单方法是使用 modulo 运算符。它returns除法余数。这是一个将数字保持在 12 范围内的示例:

>>> 13 % 12
1
>>> 5 % 12
5
>>> -2 %12
10
>>> 

因此对于您的示例,您可以在 while 循环的顶部添加该行

c %=  12

强制c的值在0-11

范围内