Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import asyncio
- import random
- # константы времени
- TIME_LONG = 0
- TIME_MIDDLE = 0
- TIME_FAST = 1
- class Bee:
- # 1. здесь должен быть конструктор. При создании пчелы, нужно указывать имя.
- # также у пчелы должен быть возраст, энергия = 100, а также нулевые атрибуты: количество счастливых моментов, количество часов сна и количество рабочих
- async def work(self):
- # 2. Нужно создать переменную, которая укажет, сколько пчеле работать. Реальная пчела может работать 18 часов, но я предлагаю ограничиться от 1 до 10 часов
- # print(f"Пчела {} уделит работе сегодня {} часов!")
- while True:
- # 3. Теперь нужен цикл, который позволит описать каждый час работы пчелы!
- await asyncio.sleep(TIME_FAST) # Используем await
- # 4. каждый час пчела расходует 10 энергии. И посмотри на другие атрибуты
- print(f"{self.name} работает. Энергия: {self.energy}")
- # 5. Когда энергии нет, пчела работать не может
- print(f"{self.name} устала и должна отдохнуть.")
- async def sleep(self):
- # 6. Аналогично работе, только во время сна энергия восполняется быстрее
- pass
- async def spend_leisure_time(self):
- possibility = random.randint(1, 4)
- self.energy -= 10
- self.happy_moments += 1
- await asyncio.sleep(TIME_MIDDLE) # Используем await
- if possibility == 1:
- print(f"Пчела {self.name} танцует с другими пчелами")
- elif possibility == 2:
- print(f"Пчела {self.name} ушла в дозор охранять королеву")
- elif possibility == 3:
- print(f"Пчела {self.name} путешествует по округе")
- else:
- print(f"Пчела {self.name} ничего не делает")
- async def spend_day(self):
- # 7. Здесь пчела проводит свой день! Пчелы живут в среднем, 26-40 дней. Поэтому день прошел - увеличиваем возраст.
- # Сначала пчела работает, потом, пока энергия есть, предается досугу, а потом - спит
- await asyncio.sleep(TIME_LONG)
- def show_stats(self):
- print(f"Пчела {self.name}")
- print(f"Часов за работой: {self.work_hours}")
- print(f"Часов за сном: {self.sleep_hours}")
- print(f"Счастливых моментов: {self.happy_moments}")
- print()
- # 8. Надо создать несколько пчел
- async def main():
- # 9. Бесконечный ли здесь нужен цикл?
- while True:
- print(f"День № ")
- print("-" * 50)
- await asyncio.gather() # 10. В скобках здесь вызови метод, где пчела проводит свой день, у каждой пчелы
- print("-" * 50)
- # asyncio.run(main())
- # 11. Подумай, что в самом конце мы хотим увидеть у наших объектов
Advertisement
Add Comment
Please, Sign In to add comment