Загрузка данных


class Device:
    def __init__(self, name, is_on):
        self.name = name
        self.is_on = is_on

    def __str__(self):
        return f"{self.name}, включено: {self.is_on}"

    def turn_on(self):
        self.is_on = True

    def turn_off(self):
        self.is_on = False


class Lamp(Device):
    def __init__(self, name, is_on, brightness):
        super().__init__(name, is_on)
        self.brightness = brightness

    def __str__(self):
        return f"{super().__str__()}, яркость {self.brightness}"

    def set_brightness(self, value):
        if 0 <= value <= 100:
            self.brightness = value
        else:
            print("Ошибка яркости")

    def __add__(self, other):
        return (self.brightness + other.brightness) / 2


class Thermostat(Device):
    def __init__(self, name, is_on, temperature):
        super().__init__(name, is_on)
        self.temperature = temperature

    def __str__(self):
        return f"{super().__str__()}, температура {self.temperature}"

    def set_temperature(self, value):
        self.temperature = value


lamp = Lamp("Лампа в спальне", False, 70)
lamp2 = Lamp("Лампа на кухне", True, 20)
thermostat = Thermostat("Термостат на кухне", True, 22)

print(lamp)
print(thermostat)

lamp.turn_on()
thermostat.turn_off()

print(lamp)
print(thermostat)

lamp.set_brightness(110)
lamp.set_brightness(30)
thermostat.set_temperature(25)

print(lamp + lamp2)
print(thermostat) объясни построчно код