/
sejeenn
/
python_basic
Обзор
Документация
Войти
/
sejeenn
/
python_basic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Module25/06_cohabitation_2/main.py
179 строк
6 KB
Eugene Vorontsov
Copy repo python basic
03 фев 2025, 20:23
03 фев 2025, 20:23
a8fce4a
Код
Авторство
О чём код?
class House: """ Все обитатели живут в доме: Класс House. В этом доме есть: money: количество денег в тумбочке (вначале 100); food: количество еды в холодильнике (вначале 50); cat_food: еда для кота (вначале 30); dirt: количество грязи (вначале 0). """ money = 100 food = 50 cat_food = 30 dirt = 0 class Residents: """ Класс Residents (Жители) описывает жителей у которых есть: name (str): Имя satiety (int): Степень сытости happiness (int): Степень счастья """ def __init__(self, name=None, satiety=None, happiness=None): self.name = name self.satiety = satiety self.happiness = happiness def eat(self): """Если поесть, то сытость повысится, а еды в доме станет на столько же меньше""" self.satiety += 30 House.food -= 30 print('Кушает') class Husband(Residents): """Дочерний класс Husband (Муж). Родитель Residents (Жители)""" def __init__(self, name, satiety=30, happiness=100, salary=150): super().__init__(name, satiety, happiness) self.salary = salary def worked(self): """Если муж работает, то зарабатывает 150 единиц денег, но сытость уменьшается на 10 пунктов""" House.money += self.salary self.satiety -= 10 print('Работа.') def petting_cat(self): """Если погладить кота, то уровень счастья повысится на 5 единиц, но сытость уменьшится на 10""" self.happiness += 5 self.satiety -= 10 print('Гладит кошку') def game(self): """Муж может играть, от чего его счастье повышается на 20 единиц, но сытость уменьшается на 10""" self.happiness += 20 self.satiety -= 10 print('Играет') class Wife(Residents): """Дочерний класс Wife (Жена). Родитель Residents (Жители)""" def __init__(self, name, satiety=30, happiness=100): super().__init__(name, satiety, happiness) def buy_food(self): """Жена покупает еду как для себя с мужем, так и для кота. Что уменьшает количество денег на 150 единиц, а запасы еды на 100 единиц увеличиваются, кошачий корм также +50 """ House.money -= 150 House.food += 100 House.cat_food += 50 print('Покупает еду') def petting_cat(self): """Если погладить кота, то уровень счастья повысится на 5 единиц, но сытость уменьшится на 10""" self.happiness += 5 self.satiety -= 10 print('Гладит кота') def buy_fur_coat(self): """Жена может купить себе шубу, что увеличит её уровень счастья на 60 единиц, уменьшит количество денег на 350 единиц и уменьшится сытость на 10 единиц""" House.money -= 350 self.happiness += 60 self.satiety -= 10 print('Покупает шубу') def cleaning_house(self): """Жена может делать уборку в доме, от чего грязь уменьшается на 100 единиц, а сытость уменьшается на 10""" House.dirt -= 100 self.satiety -= 10 print('Делает уборку') class Cat(Residents): """Дочерний класс Cat (Кот). Родитель Residents (Жители)""" def __init__(self, name, satiety=30): super().__init__(name, satiety) def eat(self): """Если кот ест, то сытость увеличивается +20, а еда для кота уменьшается -10""" self.satiety += 20 House.cat_food -= 10 print('Кот кушает') def sleep(self): """Если кот спит, то он ничего не расходует""" print('Кот спит') def scratch_wallpaper(self): """Если кот дерет обои, то грязи в доме становится на 5 единиц больше""" House.dirt += 5 print('Кот дерет обои') from random import randint house = House() husband = Husband('Eugene Vorontsov') wife = Wife('Olga Vorontsova') cat = Cat('Musya') count_days = 0 def husband_case(): choice = randint(1, 4) if choice == 1: husband.eat() elif choice == 2: husband.worked() elif choice == 3: husband.game() elif choice == 4: husband.petting_cat() def wife_case(): choice = randint(1, 5) if choice == 1: wife.eat() elif choice == 2: wife.petting_cat() elif choice == 3: wife.buy_food() elif choice == 4: wife.cleaning_house() elif choice == 5: wife.buy_fur_coat() def cat_case(): choice = randint(1, 3) if choice == 1: cat.eat() elif choice == 2: cat.sleep() elif choice == 3: cat.scratch_wallpaper() while count_days < 365: count_days += 1 husband_case() wife_case() cat_case() print('Денег в доме:{}. Чистота в доме:{}. Еда в доме:{}.' 'Еда для кота:{}'.format(house.money, house.dirt, house.food, house.cat_food)) print('Муж счастлив на {} и сыт на {} пунктов'.format(husband.happiness, husband.satiety)) print('Жена счастлива на {} и сыта на {} пунктов'.format(wife.happiness, wife.satiety)) print('Кот сыт на {} пунктов'.format(cat.satiety))