создать метод для объекта Store - PullRequest
0 голосов
/ 18 ноября 2018

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

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.')

Я получаю ошибку типа в вызове init и ошибку имени со стоимостью, в чем здесь проблема? Пожалуйста, помогите изменить мой код!

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018
 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()      

enter image description here

0 голосов
/ 18 ноября 2018

Несколько указателей :

  1. square_footage не определено внутри __init__, вы, вероятно, хотели отправить его как параметр

  2. Отправка DOLLARS_PER_KWH и KWH_PER_SQUARE_FOOTAGE_PER_HOUR на cost в качестве параметров, скорее всего, не соответствует вашим ожиданиям, поскольку они уже определены в классе.

  3. self * часть неверна. Вы не перегружаете *, поэтому вы не можете умножить Store объекты на что-то еще

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