Advertisement
ksieradzinski

Untitled

Mar 18th, 2025
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. # Utwórz klasę Product, która będzie miała atrybuty name i price.
  2. # Dodaj metodę get_description, która zwróci napis w stylu "Produkt: [namae], Cena: [price] PLN"
  3. # Stwórz dwa obiekty klasy Produkt i wywołaj dla nich metodę get_description.
  4.  
  5. # Kompozycja - łączenie obiektów ze sobą
  6. # Dziedziczenie - informacja, że jeden obiekt pochodzi od innego
  7.  
  8.  
  9. class Product:
  10. def __init__(self, name: str, price: float):
  11. self.name = name
  12. self.price = price
  13.  
  14. def get_description(self):
  15. return f"Produkt {self.name}, Cena: {self.price} PLN"
  16.  
  17.  
  18. class ShoppingCart:
  19. def __init__(self, products=None):
  20. self.products = products if products is not None else []
  21.  
  22. def add_product(self, product:Product):
  23. self.products.append(product)
  24.  
  25. def remove_product(self, product_name: str) -> bool:
  26. for position, product in enumerate(self.products):
  27. if product.name == product_name:
  28. del self.products[position]
  29. return True
  30.  
  31. return False
  32.  
  33. def calculate_total(self):
  34. # total = 0
  35. # for product in self.products:
  36. # total += product.price
  37. #
  38. # return total
  39. #
  40. return round(sum(product.price for product in self.products), 2)
  41.  
  42. chleb = Product("Chleb", 8.20)
  43. pomidor = Product("Pomidor", 6.70)
  44.  
  45. cart = ShoppingCart()
  46. cart.add_product(chleb)
  47. cart.add_product(pomidor)
  48. # cart.remove_product("Chleb")
  49.  
  50. for product in cart.products:
  51. print(product.name)
  52.  
  53. print(cart.calculate_total())
  54.  
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement