kipishio

Untitled

Nov 30th, 2021
548
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Potatoe:
  2.     states = {0: 'Только посадили', 1: 'Пустила корни', 2: 'Зацвела', 3: 'Созрела'}
  3.  
  4.     def __init__(self, index):
  5.         self.index = index
  6.         self.state = 0
  7.  
  8.     def print_info(self):
  9.         print('Картошка {} на стадии зрелости: {}'.format(self.index, Potatoe.states[self.state]))
  10.  
  11.     def grow_potato(self):
  12.         if self.state < 4:
  13.             self.state += 1
  14.         print('Картошка {}, Стадия зрелости: {}'.format(self.index, Potatoe.states[self.state]))
  15.  
  16.     def is_ready(self):
  17.         if self.state == 3:
  18.             return True
  19.         else:
  20.             return False
  21.  
  22.  
  23. class Garden:
  24.     count_garden = 0
  25.  
  26.     def __init__(self, count):
  27.         self.potatoes = [Potatoe(index) for index in range(1, count + 1)]
  28.         Garden.count_garden += 1
  29.         self.name_garden = Garden.count_garden
  30.  
  31.     def print_info(self):
  32.         print('\nКартошка на грядке №{} стадия зрелости {}'.format(self.name_garden, [
  33.             'картошка №{}-{}'.format(potato.index, Potatoe.states[potato.state]) for potato in self.potatoes]))
  34.  
  35.     def grow(self):
  36.         if len(self.potatoes) > 0:
  37.             print('Картошка на грядке №{} проростает!'.format(self.name_garden))
  38.             for i_potato in self.potatoes:
  39.                 i_potato.grow_potato()
  40.         else:
  41.             print('На грядк №{} нет картошки'.format(self.name_garden))
  42.  
  43.     def check_potetos(self):
  44.         if all([i_potato.is_ready() for i_potato in self.potatoes]):
  45.             print('Картошка на грядке №{} созрела можно собирать'.format(self.name_garden))
  46.         else:
  47.             print('Картошка еще не созрела')
  48.  
  49.  
  50. class Gardener:
  51.     count_potato = 0
  52.  
  53.     def __init__(self, name):
  54.         self.name = name
  55.  
  56.     def print_info(self):
  57.         print('Имя садовника {}'.format(self.name))
  58.  
  59.     def take_care_garden(self, garden):
  60.         if len(garden.potatoes) > 0:
  61.             print('Садовод {} ухаживаем за картошкой на грядке {}\n'.format(self.name, garden.name_garden))
  62.             garden.grow()
  63.             print()
  64.         else:
  65.             print(
  66.                 'Прежде чем ухаживать, необходимо посадить хоть одну картошку на грядке №{}'.format(garden.name_garden))
  67.  
  68.     def harvest(self, garden):
  69.         if len(garden.potatoes) > 0:
  70.             if all([i_potato.is_ready() for i_potato in garden.potatoes]):
  71.                 self.count_potato += len(garden.potatoes)
  72.                 garden.potatoes = []
  73.                 print('Садовник {} собрал урожай {} крт. с грядки №{}'.format(self.name, self.count_potato,
  74.                                                                               garden.name_garden))
  75.             else:
  76.                 print('Картошка на грядке №{} не созрела'.format(garden.name_garden))
  77.         else:
  78.             print('На грядке №{} ни одна картошка не посажена'.format(garden.name_garden))
  79.  
  80.  
  81. bed_1 = Garden(8)
  82. bed_1.check_potetos()
  83. bed_1.print_info()
  84. gardner_1 = Gardener('Вася')
  85. gardner_1.take_care_garden(bed_1)
  86. gardner_1.harvest(bed_1)
  87. gardner_1.take_care_garden(bed_1)
  88. gardner_1.take_care_garden(bed_1)
  89. bed_1.print_info()
  90. gardner_1.harvest(bed_1)
  91. gardner_1.harvest(bed_1)
  92.  
RAW Paste Data