Python

Помогите разобраться в теме Классы Питон

Реализуйте иерархию классов, описывающих имущество налогоплательщиков. Она должна состоять из базового класса Property и производных от него классов Apartment, Car и CountryHouse.

Базовый класс должен иметь атрибут worth (стоимость), который передаётся в конструктор, и метод расчёта налога, переопределённый в каждом из производных классов. Налог на квартиру вычисляется как 1/1000 её стоимости, на машину — 1/200, на дачу — 1/500.

Каждый дочерний класс должен иметь конструктор с одним параметром, передающий свой параметр конструктору базового класса.

Разработайте интерфейс программы. Пусть она запрашивает у пользователя количество его денег и стоимость имущества, а затем выдаёт ему налог на соответствующее имущество и сколько денег ему не хватает (если это так).
Vitali D'' Menin
Vitali D'' Menin
146
Бахром Усмонов
Бахром Усмонов
18 091
Лучший ответ
Александр Тебе должно быть стыдно
не твоё. и тут не помощь, тут бесплатная работа
Ал
Александр
24 151
Глеб Варламов это скил**кс ни фига не учит), потом удивляются
class Property:
tax_rate = 0

def __init__(self, worth=0):
self.worth = worth

def __str__(self):
return '{}:\n-Стоимость равняется: {}.\n-Налог на соответствующее имущество {}'

def get_tax(self):
return round(self.worth / self.tax _rate, 2)
pass


class Apartment(Property):
tax_rate = 1000

def __str__(self):
return super().__str__().format('Апартаменты', self.worth, self.get_tax())


class Car(Property):
tax_rate = 1000

def __str__(self):
return super().__str__().format('Автомобиль', self.worth, self.get_tax())


class CountryHouse(Property):
tax_rate = 1500

def __str__(self):
return super().__str__().format('Загородный дом', self.worth, self.get_tax())


apartment = Apartment(int(input('Введите стоимость квартиры: ')))
car = Car(int(input('Введите стоимость машины: ')))
country_house = CountryHouse(int(input('Введите стоимость загородного дома: ')))
money = int(input('Cколько у вас есть денег: '))
print(apartment)
print(car)
print(country_house)
sum_tax = round(sum(i_property.get_tax() for i_property in (apartment, car, country_house)))
if sum_tax > money:
print('Вам не хватает', abs(sum_tax - money))
else:
print('Собственных средств хватит на покрытие налогов')
MM
Maik M
197
 class Property: 

def __init__(self, worth): self.worth = worth

def tax_calculation(self): pass


class Apartment(Property):

def __init__(self, worth): super().__init__(worth)

def tax_calculation(self): return self.worth / 1000


class Car(Property):

def __init__(self, worth): super().__init__(worth)

def tax_calculation(self): return self.worth / 200


class CountryHouse(Property):

def __init__(self, worth): super().__init__(worth)

def tax_calculation(self): return self.worth / 500


def program_interface():
amount_of_money = float(input('Пожалуйста, укажите имеющуюся у Вас сумму денежных средств: '))

properties = [
(Apartment, 'квартиры'),
(Car, 'автомобиля'),
(CountryHouse, 'загородного дома')
]

for prop_type, prop_name in properties:
worth = float(input(f'\nВведите стоимость {prop_name}: '))
prop = prop_type(worth)
tax = prop.tax_calculation()
print(f'Налог составляет: {tax}')
if tax
Привет я тоже программист го дружить мой тг @londonyglhf