Создайте объект, представляющий магазин. Попросите метод инициализации взять квадратные метры магазина. Создайте метод, позволяющий рассчитать затраты на электроэнергию для магазина.
class Store:
DOLLARS_PER_KWH = 0.15
KWH_PER_SQUARE_FOOTAGE_PER_HOUR = 0.19
def __init__(self):
self.square_footage = square_footage
def cost(self, DOLLARS_PER_KWH, KWH_PER_SQUARE_FOOTAGE_PER_HOUR):
self.electrical_costs = self * DOLLARS_PER_KWH * KWH_PER_SQUARE_FOOTAGE_PER_HOUR
print(f' Electrical costs are {self.electrical_costs} dollars.')
Я получаю ошибку типа в вызове инициализации и ошибку имени со стоимостью, в чем проблема? Пожалуйста, помогите отредактировать мой код!






square_footage не определен внутри __init__, вы, вероятно, хотели отправить его как параметр
Отправка DOLLARS_PER_KWH и KWH_PER_SQUARE_FOOTAGE_PER_HOUR в cost в качестве параметров, скорее всего, не то, что вам нужно, поскольку они уже определены в классе.
Часть self * неправильная. Вы не перегружаете *, поэтому вы не можете умножать объекты Store на что-то еще.
class Store:
DOLLARS_PER_KWH = 0.15
KWH_PER_SQUARE_FOOTAGE_PER_HOUR = 0.19
def __init__(self,square_footage):
self.square_footage = square_footage
Store.DOLLARS_PER_KWH
Store.KWH_PER_SQUARE_FOOTAGE_PER_HOUR
def cost(self):
self.electrical_costs = self.square_footage *Store.DOLLARS_PER_KWH *Store.KWH_PER_SQUARE_FOOTAGE_PER_HOUR
print ("Electrical costs are $%.2f." % (self.electrical_costs))
emp1 = Store(10)
emp1.cost()