Proyecto: carrito de compras
Python · Unidad 14: Clases modernas
- Plan completo
- Python
- Proyecto
- 3 ejercicios
Vas a armar un carrito de compras. Un Producto tiene nombre y precio, y una Linea junta un producto con la cantidad que llevas.
Lo que cuesta una línea no se guarda: se calcula con una @property, así siempre va de acuerdo con la cantidad.
from dataclasses import dataclass
@dataclass
class Producto:
nom: str
precio: int
@dataclass
class Linea:
prod: Producto
cant: int
@property
def subtotal(self):
pre = self.prod.precio
return pre * self.cant
pan = Producto("pan", 20)
print(Linea(pan, 3).subtotal)Imprime
60
El resto de la explicación está en la lección, que es del plan completo.
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Completa el código
Tres panes de 20. Completa para que imprima 60.
2. Escribe el código
Escribe los tres métodos de
Carrito.agregar(prod, cant): guarda unaLineanueva enself.lineas.total: una@propertyque suma los subtotales.__len__: cuántas líneas tiene el carrito.probarya está escrita y regresa las dos cosas.3. Escribe el código
Escribe
a_pagar(c, envio): regresa el total del carrito más lo que cuesta ese envío, pero si el total llega a 500 el envío no se cobra.probararma el carrito y elige el envío por su valor.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.