Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp26 [2020/05/18 11:17] – [Программный код эксперимента] labuser29products:laboratory_iot:exp26 [2024/11/15 11:41] (текущий) – [Программный код эксперимента] labuser30
Строка 85: Строка 85:
 Получается, что функция получила данные о том какие сегменты ей нужно включить, а какие выключить. Соответственно она должна это исполнить. Для этого она проходит по всем элементам массива сегментов, как обычно, с помощью оператора ''in'', но в этот раз мы использовали еще оператор ''enumerate''. Обычно оператор ''in'' перебирая элементы массива записывает в переменную содержимое элемента массива, его значение, а ''enumerate(digit)'' создает последовательность кортежей, состоящих из индексов и значений. В кортеже ''el'' в элементе 0 оказывается индекс, а в элементе 1 значение. Получается, что функция получила данные о том какие сегменты ей нужно включить, а какие выключить. Соответственно она должна это исполнить. Для этого она проходит по всем элементам массива сегментов, как обычно, с помощью оператора ''in'', но в этот раз мы использовали еще оператор ''enumerate''. Обычно оператор ''in'' перебирая элементы массива записывает в переменную содержимое элемента массива, его значение, а ''enumerate(digit)'' создает последовательность кортежей, состоящих из индексов и значений. В кортеже ''el'' в элементе 0 оказывается индекс, а в элементе 1 значение.
  
-Номер индекса нам нужен, чтобы обратиться по нему к нужному сегменту, а его значение, чтобы знать что с ним делатьзажигать или тушить. +Номер индекса нам нужен, чтобы обратиться по нему к нужному сегменту, а его значение, чтобы знать что с ним делать − зажигать или тушить. 
  
 <code python [enable_line_numbers="2", start_line_numbers_at="26"]> <code python [enable_line_numbers="2", start_line_numbers_at="26"]>
Строка 93: Строка 93:
             Pin(segments[el[0]]).off()             Pin(segments[el[0]]).off()
 </code> </code>
-Если сегмент должен быть включен (''el[1]'' истинно), то нужно его зажечь. Номер пина, который нужно включить записан в переменной ''segments'' в элементе с индексом, который мы берем из ''el[0]''. Именно поэтому мы сделали так, что последовательность пинов в массиве ''segments'' соответствует им в массиве ''digits'', чтобы у них были одинаковые индексы.+Если сегмент должен быть включен (''el[1]'' истинно), то нужно его зажечь. Номер пина, который нужно включитьзаписан в переменной ''segments'' в элементе с индексом, который мы берем из ''el[0]''. Именно поэтому мы сделали так, что последовательность пинов в массиве ''segments'' соответствует им в массиве ''digits'', чтобы у них были одинаковые индексы.
  
 Не совсем обычным является и то, как мы зажигаем сегменты. ''Pin(segments[el[0]]).on()''. Обычно мы создавали объект ''Pin'', записывали его в переменную и оперировали с ней. Сейчас мы сделали тоже самое, только не создавали отдельную переменную, а сделали все сразу. Просто нам не нужна эта переменная в будущем, поэтому мы ее не создавали и для краткости записи сделали так. Не совсем обычным является и то, как мы зажигаем сегменты. ''Pin(segments[el[0]]).on()''. Обычно мы создавали объект ''Pin'', записывали его в переменную и оперировали с ней. Сейчас мы сделали тоже самое, только не создавали отдельную переменную, а сделали все сразу. Просто нам не нужна эта переменная в будущем, поэтому мы ее не создавали и для краткости записи сделали так.