Информатика, вопрос задал Jytoof , 1 год назад

Создать программу, которая будет определять, может ли человек купить выбранный им дом или нет. Пояснения по программе:
– создать родительский класс House, хранящий информацию о цене (price) и площади дома (area). Создать дочерний класс SmallHouse, в конструктор которого передается только один параметр price. Условимся, что все дома класса SmallHouse имеют постоянную площадь 50 м2. В родительском класса House создать магический метод __str__(), который будет выводить информацию об объекте.
– создать класс Human, объекты которого имеют публичные атрибуты (name, age) и приватные (money, house). Этот класс должен содержать методы earn_money по зарабатыванию денег. Т.е. каждый раз, вызывая метод earn_money, конкретному человеку должна прибавиться некоторая сумма денег в приватную переменную money. Создать метод buy_house, который будет сравнивать текущее количество денег у человека со стоимостью дома и выводить соответствующее сообщение о возможности или невозможности покупки. Если дом купить можно, то вывести информацию о том, сколько денег осталось на счету у покупателя.
Python.

Ответы на вопрос

Ответил weinrauchmelinda8130
1

Відповідь : Вот пример программы, реализующей задание:

Пояснення: class House:

def __init__(self, price, area):

self.price = price

self.area = area

def __str__(self):

return f"House price: {self.price}, area: {self.area} m2"

class SmallHouse(House):

def __init__(self, price):

super().__init__(price, 50)

class Human:

def __init__(self, name, age, money):

self.name = name

self.age = age

self.money = money

self.house = None

def earn_money(self, amount):

self.money += amount

def buy_house(self, house):

if self.money >= house.price:

self.money -= house.price

self.house = house

print(f"{self.name} has bought a house!")

print(f"{self.name} has {self.money} dollars left")

else:

print(f"{self.name} does not have enough money to buy the house")

# Пример использования классов и методов

if __name__ == '__main__':

house1 = SmallHouse(100000)

house2 = House(500000, 100)

person1 = Human("John", 30, 100000)

person2 = Human("Mary", 25, 50000)

person1.buy_house(house1)

person2.buy_house(house2)

• В этой инфекции заражения три класса: House, SmallHouse и Human. Класс дома содержит информацию о цене и площади дома и определяет магический метод для вывода информации об объекте. Класс SmallHouse является дочерним классом House и определяется конструктором, который классифицируется только как случай, а площадь дома задается европейским значением. Класс Human содержит информацию о человеке (имя, возраст, количество денег и дом) и получает методы заработки денег и покупки дома.

• Пример использования классов и методов находится в конце программы. Создаются два дома и два человека с разным ростом доходов. Затем вызываются методы buy_house для каждого человека, передаются в качестве аргумента объекта дома. Результатом будет вывод сообщений о возможности или невозможности покупки дома, а также информации о том, сколько денег осталось у покупателя.

Новые вопросы