Untitled
unknown
plain_text
2 years ago
2.8 kB
4
Indexable
class Product: def __init__(self, name, price): self.name = name self.price = price def get_details(self): return f"{self.name} - ${self.price:.2f}" class DailyNecessity(Product): def __init__(self, name, price, category): super().__init__(name, price) self.category = category def get_details(self): return f"{self.name} - ${self.price:.2f} (Category: {self.category})" class Book(Product): def __init__(self, name, price, author, genre): super().__init__(name, price) self.author = author self.genre = genre def get_details(self): return f"{self.name} - ${self.price:.2f} (Author: {self.author}, Genre: {self.genre})" class ElectronicProduct(Product): def __init__(self, name, price, brand): super().__init__(name, price) self.brand = brand def get_details(self): return f"{self.name} - ${self.price:.2f} (Brand: {self.brand})" class ShoppingCart: def __init__(self): self.items = {} def add_item(self, product, quantity=1): if product in self.items: self.items[product] += quantity else: self.items[product] = quantity def remove_item(self, product, quantity=1): if product in self.items: self.items[product] -= quantity if self.items[product] <= 0: del self.items[product] def get_total_price(self): total = 0 for product, quantity in self.items.items(): total += product.price * quantity return total class User: def __init__(self, name, email): self.name = name self.email = email self.shopping_cart = ShoppingCart() def add_to_cart(self, product, quantity=1): self.shopping_cart.add_item(product, quantity) def remove_from_cart(self, product, quantity=1): self.shopping_cart.remove_item(product, quantity) def get_cart_total(self): return self.shopping_cart.get_total_price() # Example usage if __name__ == "__main__": # Create some products milk = DailyNecessity("Milk", 2.5, "Grocery") python_book = Book("Python Crash Course", 25.0, "Eric Matthes", "Programming") phone = ElectronicProduct("Smartphone", 400.0, "Samsung") # Create a user user = User("John Doe", "john@example.com") # Add products to the user's shopping cart user.add_to_cart(milk, 2) user.add_to_cart(python_book) user.add_to_cart(phone) # Get the total price of the user's shopping cart cart_total = user.get_cart_total() print(f"Total price in the shopping cart: ${cart_total:.2f}")
Editor is loading...