/
sejeenn
/
python_basic
Обзор
Документация
Войти
/
sejeenn
/
python_basic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Module25/06_cohabitation_2/1.py
166 строк
5 KB
Eugene Vorontsov
Copy repo python basic
03 фев 2025, 20:23
03 фев 2025, 20:23
a8fce4a
Код
Авторство
О чём код?
class House: """ Все они живут в одном доме и дом характеризуется: money (int): количество денег, по умолчанию: 100 food (int): количество еды, по умолчанию: 50 cat_food (int): количество еды для кота, по умолчанию: 30 dirt (int): количество грязи в доме, по умолчанию: 0 """ money = 100 food = 50 cat_food = 30 dirt = 0 class Humans(House): """ Дочерний класс Люди(Humans), родитель - House, у которых есть: name (str): Имя, по умолчанию: None satiety (int): Степень сытости, по умолчанию: 30 happiness (int): Степень счастья, по умолчанию 100 """ def __init__(self, name=None): self.name = name self.satiety = 30 self.happiness = 100 def petting_cat(self): """Все люди могут погладить кота, от чего степень счастья +5""" self.happiness += 5 def eat(self): """Люди могут кушать, тогда сытость +30, а еда в доме -30""" self.satiety += 30 House.food -= 30 class Husband(Humans): """Класс муж (Husband), производный от Humans""" def game(self): """Муж может играть, тогда сытость -10, а счастье +20""" self.satiety -= 10 self.happiness += 20 print('husband is game') def work(self): """Муж может ходить на работу, тогда сытость -10, а количество денег в доме +150""" self.satiety -= 10 House.money += 150 print('husband is work') class Wife(Humans): """Класс Wife (Жена), производный от класса Humans""" def buy_food(self): """ Жена может сходить в магазин за продуктами, тогда её сытость -10, деньги в доме -150, еда +100 и еда для кота +50 """ self.satiety -= 10 House.money -= 150 House.food += 100 House.cat_food += 50 print('wife is buy food') def buy_fur_coat(self): """ Жена может купить шубу, но это дорого, денег станет в доме -350 счастье у жены будет +60 """ House.money -= 350 self.happiness += 60 print('!!!!!!!!!!!!!!!ШУБААААААААА!!!!!!!!!!!!!!!') def house_cleaning(self): """Жена может делать уборку в доме. Сытость -10, грязь в доме -100""" self.satiety -= 10 House.dirt -= 100 print('house is clean') class Cats(House): """ Класс кошки - Cats, производный от House name (str): Кличка животного, по умолчанию: None satiety (int): Степень сытости, по умолчанию: 30 """ def __init__(self, name=None): self.name = name self.satiety = 30 def cat_eat(self): """Кот может покушать""" House.cat_food -= 10 self.satiety += 20 def cat_sleep(self): """Кот может спать""" self.satiety -= 10 def scratch_wallpaper(self): """Кот может драть обои""" House.dirt += 5 self.satiety -= 10 def husband_action(): husband.petting_cat() if House.money < 350: husband.work() elif husband.satiety < 20: husband.eat() else: husband.game() def wife_action(dirt): wife.petting_cat() if House.food < 50: wife.buy_food() elif wife.satiety < 20: wife.eat() elif dirt > 90: wife.house_cleaning() else: wife.buy_fur_coat() def cat_action(): """ Любое действие (в том числе и кота), кроме «есть», приводит к уменьшению степени сытости на 10 пунктов. """ if cat.satiety < 20: cat.cat_eat() else: cat.scratch_wallpaper() def dead_hungry(name, satiety): print(name, satiety) if satiety < 0: print('{} умер от голода'.format(name)) days_count = 0 husband = Husband('Евгений') wife = Wife('Ольга') cat = Cats('Муся') while days_count < 5: days_count += 1 House.dirt += 5 husband_action() dead_hungry(husband.name, husband.satiety) print('Уровень счастья мужа: {}, сытость: {}, денег в доме: ' '{}'.format(husband.happiness, husband.satiety, House.money)) wife_action(House.dirt) print('Уровень счастья жены: {}, сытость: {}, еды в доме: ' '{}, еды для кота: {}'.format(wife.happiness, wife.satiety, House.food, House.cat_food)) cat_action() print('Сытость кота: {}, грязь в доме: {}'.format(cat.satiety, House.dirt))