Top.Mail.Ru
Ответы

Задача c классами Python

Реализуйте класс Product.

Атрибуты экземпляра класса:

name — название товара, строка;
retail_price — розничная цена, число;
purchase_price — закупочная цена, число.

Методы:

Свойство profit должно возвращать разницу между розничной и закупочной ценой товара. Например, для товара, у которого розничная цена 200, а закупочная — 180, этот метод должен вернуть 20.

Статический метод average_price(), который принимает список розничных цен нескольких товаров и возвращает их среднюю розничную цену. Например, для цен 100, 300 и 800 этот метод должен вернуть число 400.
При вызове этого метода без аргументов он должен вернуть 0.

Свойство information должно возвращать строку с информацией о товаре (название, розничная и закупочная цена). Например, для товара с названием Шляпа с розничной ценой 1000 и закупочной ценой 800 должна вернуться строка

Товар: Шляпа, розничная цена: 1000, закупочная цена: 800

123456789101112131415161718192021222324252627
 class Product: 
    def __init__(self, name, retail_price, purchase_price): 
        self.name = name 
        self.retail_price = retail_price 
        self.purchase_price = purchase_price 
 
    # Опишите свойство profit 
 
    # Опишите статический метод average_price() 
 
    # Опишите свойство information 
 
 
# Данные для проверки, не изменяйте их. 
product_1 = Product('Картошка', 100, 90) 
product_2 = Product('Перчатки', 150, 120) 
product_3 = Product('Велосипед', 170, 150) 
 
assortment_prices = [ 
    product_1.purchase_price,  
    product_2.purchase_price,  
    product_3.purchase_price 
] 
 
print(f'Средняя стоимость: {Product.average_price(assortment_prices)}') 
print(f'Прибыль магазина с товара {product_1.name}: {product_1.profit}') 
print(f'Информация о товаре {product_1.name}: {product_1.information}') 
По дате
По рейтингу
Аватар пользователя
Просветленный
12345678910111213141516171819202122232425262728293031323334
 class Product: 
    def __init__(self, name, retail_price, purchase_price): 
        self.name = name 
        self.retail_price = retail_price 
        self.purchase_price = purchase_price 
 
    @property 
    def profit(self): 
        return self.retail_price - self.purchase_price 
 
    @staticmethod 
    def average_price(prices=[]): 
        if not prices: 
            return 0 
        return sum(prices) / len(prices) 
 
    @property 
    def information(self): 
        return f'Товар: {self.name}, розничная цена: {self.retail_price}, закупочная цена: {self.purchase_price}' 
 
# Данные для проверки, не изменяйте их. 
product_1 = Product('Картошка', 100, 90) 
product_2 = Product('Перчатки', 150, 120) 
product_3 = Product('Велосипед', 170, 150) 
 
assortment_prices = [ 
    product_1.purchase_price, 
    product_2.purchase_price, 
    product_3.purchase_price 
] 
 
print(f'Средняя стоимость: {Product.average_price(assortment_prices)}') 
print(f'Прибыль магазина с товара {product_1.name}: {product_1.profit}') 
print(f'Информация о товаре {product_1.name}: {product_1.information}')