ограничить значение переменной, микропифон - PullRequest
0 голосов
/ 21 сентября 2019

Я сейчас пытаюсь выучить micropython на стороне.Моя первая проблема заключалась в том, что я не знал, как ограничить значение переменной c (должно быть [0;11]). Теперь она всегда активирует leds -2, -1 и 12.,Как я могу ограничить его только активировать светодиоды 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

1 Ответ

0 голосов
/ 21 сентября 2019

Простой способ сохранить число в указанном диапазоне - использовать оператор по модулю .Возвращает остаток от деления.Вот пример, чтобы держать число в диапазоне 12:

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

Так что для вашего примера вы можете добавить строку в верхней части цикла while

c %=  12

Для приведения значенияc находиться в диапазоне 0-11

...