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) объясни построчно код