Правильно ли решена задача? Не совсем понимаю условие. Как нужно было ее решать?
Задача:
Напишите заготовку для небольшого магазинчика, который торгует фильмами и книгами.
Создайте класс продукта, у экземпляров которого есть два поля: цена и количество на складе. При создании нового продукта можно передать значения цены и остатка.
Унаследуйте от этого класса два других: книги и фильма соответственно. Своих переменных у этих классов пока нет.
Создайте в основной программе какой-нибудь продукт, например, «фильм Леон». Выведите его стоимость в консоль.
Вот мой код. Я не понимаю, как ее правильно решить нужно.
class Films_and_books:
shop = []
name = ''
price = ''
quantity_in_stock = ''
def __init__(self,product,name,price,quantity_in_stock):
self.product = product
self.name = name
self.price = price
self.quantity_in_stock = quantity_in_stock
Films_and_books.shop.append(self)
def get_info(self):
print(self.name)
print(self.price)
print(self.quantity_in_stock)
def get_info_all():
for i in Films_and_books.shop:
print(i)
def add_products(self,shop,*products):
for prod in products:
shop.append(prod)
def print_products(self,shop):
print(shop)
def __str__(self):
return f'Продукт: {self.product},Название: {self.name}, Цена: {self.price}, Остаток на складе: {self.quantity_in_stock}'
film_1 = Films_and_books('Фильм','НЕПРОЩЕННЫЙ', 100, 20 )
film_2 = Films_and_books('Фильм','исходный код', 150, 50 )
film_3 = Films_and_books('Фильм','Леон', 200, 15 )
book_1 = Films_and_books('Книга','Мастер и Маргарита', 400, 1000)
book_2 = Films_and_books('Книга','Мёртвые души', 500, 700)
book_3 = Films_and_books('Книга','Война и мир', 480, 620)
class Books (Films_and_books):
price_books = ''
quantity_in_stock_books = ''
class Films (Films_and_books):
price_films = ''
quantity_in_stock_films = ''
Films_and_books.get_info(film_3)
Ответы (2 шт):
По шагам из задачи:
Создайте класс продукта, у экземпляров которого есть два поля: цена и количество на складе. При создании нового продукта можно передать значения цены и остатка.
class Products:
def __init__(self, price, number):
self.price = price
self.number = number
Унаследуйте от этого класса два других: книги и фильма соответственно. Своих переменных у этих классов пока нет.
class Books(Products):
pass
class Films(Products):
pass
Создайте в основной программе какой-нибудь продукт, например, «фильм Леон». Выведите его стоимость в консоль.
films = Films(100, 1)
print(films.price)
# 100
Создайте класс продукта, у экземпляров которого есть два поля: цена и количество на складе. При создании нового продукта можно передать значения цены и остатка.
- Создайте класс
Product, а неFilms_and_books. - У класса должно быть два поля, а не четыре, как у вас.
Унаследуйте от этого класса два других: книги и фильма соответственно. Своих переменных у этих классов пока нет.
У вас опять какие-то лишние переменные в этих классах, про которые в задании ничего не сказано. И классы эти должны быть названы в единственном числе, а не во множественном.
Создайте в основной программе какой-нибудь продукт, например, «фильм Леон». Выведите его стоимость в консоль.
Это примерно так:
LeonFilm = Film(200, 15 )
Ничего больше в задании нет, название не нужно записывать в класс, у вас много лишнего кода и состояния, который в задании не требуется.