Similar presentations:
Пайтон цветок. Пасынков
1.
ДатчикВлажности
Почвы
2.
class FlowerУровень влаги высокий
Уровень влаги средний
Уровень влаги низкий
срабатывает датчик
3.
class Flower:def __init__(self, soil_humidity=50,
air_temperature=25):
self.soil_humidity = soil_humidity
self.air_temperature = air_temperature
def pass_day(self):
if self.soil_humidity > 0:
self.soil_humidity -= 10
def check_water_level(self):
if self.soil_humidity <= 20:
return f"Влага упала до
{self.soil_humidity}, растение требует
полива!"
else:
return f"Уровень влаги нормальный
({self.soil_humidity}). Полив пока не
нужен."
flower = Flower()
for day in range(3):
flower.pass_day()
print(f"День {day+1}:
{flower.check_water_level()}")
class Flower:
Новый класс с названием Flower
def __init__(self, soil_humidity=50, air_temperature=25):
Это специальный метод-конструктор (__init__), который автоматически
запускается при создании нового экземпляра класса. Здесь задаются
начальные значения свойств нашего растения:
soil_humidity — влажность почвы (начальное значение по умолчанию равно
100);
air_temperature — температура воздуха вокруг растения (по умолчанию равна
25 градусов Цельсия).
Эти параметры записываются в соответствующие поля объекта
(self.soil_humidity, self.air_temperature) и используются позже в работе
программы.
self.soil_humidity = soil_humidity
self.air_temperature = air_temperature
Мы сохраняем переданные значения в переменных объекта, используя
префикс self.. Таким образом, любые методы внутри класса смогут обращаться
к ним как к внутренним данным конкретного экземпляра.
def pass_day(self):
Объявляется метод pass_day, симулирующий течение одного дня. Этот метод
уменьшает влажность почвы ежедневно.
if self.soil_humidity > 0:
self.soil_humidity -= 3
Каждый день влажность почвы понижается на 3 пункта. Мы проверяем
условие: если влажность ещё положительная, её значение уменьшается на 3
единицы. Это означает, что с каждым днём почва высыхает.
def check_water_level(self):
Этот метод позволяет проверять уровень влажности и возвращать сообщение
о состоянии растения.
if self.soil_humidity <= 20:
return f"Влага упала до {self.soil_humidity}, растение требует полива!"
else:
return f"Уровень влаги нормальный ({self.soil_humidity}). Полив пока не
нужен."
Здесь выполняется проверка текущего уровня влажности. Если влажность
опустилась ниже установленного порога (20 единиц), возвращается
сообщение о необходимости полива. Иначе сообщается, что полив пока не
требуется.
flower = Flower()
Создается экземпляр класса Flower, и объект инициализируется с начальными
параметрами влажности и температуры (если не указаны иначе, берутся
значения по умолчанию).
for _ in range(30):
Запускается цикл, моделирующий прохождение 30 дней. Цикл повторяется
ровно 30 раз.
flower.pass_day()
Внутри цикла каждый раз вызывается метод pass_day, который уменьшает
влажность на 3 единицы.
print(flower.check_water_level())
Также каждый день выводится текущее состояние влажности путём вызова
метода check_water_level.
programming