Создание класса LampRow
Информатика

Как создать класс LampRow, который будет хранить состояние ряда из 8 лампочек в виде строки символов? Как скрыть

Как создать класс LampRow, который будет хранить состояние ряда из 8 лампочек в виде строки символов? Как скрыть внутреннюю переменную _state с помощью свойства state? Как проверить длину строки состояния и записать все нули, если она не равна 8? Как вывести состояние лампочек на экран, обозначая выключенную лампочку минусом и включенную точкой? Для примера, как создать объект класса LampRow, вызвать метод show и изменить состояние с "10101010"?
Верные ответы (1):
  • Загадочная_Сова_600
    Загадочная_Сова_600
    38
    Показать ответ
    Создание класса LampRow

    Объяснение: Класс LampRow будет представлять собой ряд из 8 лампочек, представленных в виде строки символов. Для создания такого класса, мы можем использовать язык программирования Python. Внутренняя переменная `_state` будет использоваться для хранения состояния ряда лампочек.

    python
    class LampRow:
    def __init__(self, state):
    self._state = state

    @property
    def state(self):
    return self._state

    @state.setter
    def state(self, new_state):
    if len(new_state) != 8:
    new_state = "0" * 8
    self._state = new_state

    def show(self):
    display_state = ""
    for i in self._state:
    if i == "0":
    display_state += "-"
    else:
    display_state += "."
    print(display_state)


    Доп. материал:

    python
    row = LampRow("10101010")
    row.show()
    row.state = "11001100"
    row.show()


    Совет: Когда вы создаете класс, убедитесь, что вы указываете правильные значения атрибутов и правильные имена методов. Использование свойства `@property` и `setter` обеспечивает контроль над установкой нового значения состояния.

    Дополнительное упражнение:

    Создайте объект класса LampRow с начальным состоянием лампочек "11110000". Вызовите метод `show` для отображения состояния лампочек. Затем измените состояние лампочек на "00110011" и еще раз вызовите метод `show`.
Написать свой ответ: