Создать метод для хранилища объектов

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

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

  3. Часть 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()      

Другие вопросы по теме