Задача c классами Python
Реализуйте класс Product.
Атрибуты экземпляра класса:
name — название товара, строка;
retail_price — розничная цена, число;
purchase_price — закупочная цена, число.
Методы:
Свойство profit должно возвращать разницу между розничной и закупочной ценой товара. Например, для товара, у которого розничная цена 200, а закупочная — 180, этот метод должен вернуть 20.
Статический метод average_price(), который принимает список розничных цен нескольких товаров и возвращает их среднюю розничную цену. Например, для цен 100, 300 и 800 этот метод должен вернуть число 400.
При вызове этого метода без аргументов он должен вернуть 0.
Свойство information должно возвращать строку с информацией о товаре (название, розничная и закупочная цена). Например, для товара с названием Шляпа с розничной ценой 1000 и закупочной ценой 800 должна вернуться строка
Товар: Шляпа, розничная цена: 1000, закупочная цена: 800
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}')
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}')