Skip to content

Commit

Permalink
Python - Curso V2 - Proyecto 0 Orientado a Objetos
Browse files Browse the repository at this point in the history
Python Curso V2: 386 Prueba de Ejecución, Ajustes y Correcciones del Proyecto 0 (Orientado a Objetos).
  • Loading branch information
Fhernd committed May 9, 2020
1 parent 3eb5838 commit 532473d
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 31 deletions.
51 changes: 25 additions & 26 deletions parte16/proyecto0/inventario/__main__.py
Expand Up @@ -86,7 +86,7 @@ def listar_productos(productos):
productos: Lista de productos.
"""
for p in productos:
print(f"{p['id_producto']} - {p['nombre']}")
print(f"{p.codigo} - {p.nombre}")

def continuar():
"""
Expand Down Expand Up @@ -114,7 +114,7 @@ def cargar_inventario():

return None

def guardar_datos(productos, ventas):
def guardar_datos(inventario):
while True:
print('¿Desea guardar los datos de productos y ventas en el archivo `inventario.pickle`?:')
print('1. Sí')
Expand All @@ -126,7 +126,6 @@ def guardar_datos(productos, ventas):

if opcion == 1:
with open('inventario/inventario.pickle', 'wb') as f:
inventario = {'productos': productos, 'ventas': ventas}

pickle.dump(inventario, f)

Expand Down Expand Up @@ -269,12 +268,12 @@ def main():
print()
print('MENSAJE: Aún no ha registrado productos.')
elif opcion == 3:
if len(productos):
if len(inventario.productos):
while True:
listar_productos(productos)
listar_productos(inventario.productos)
codigo_producto = capturar_entero('Digite el ID del producto')

producto = buscar_producto(productos, codigo_producto)
producto = inventario.buscar_producto(codigo_producto)

if producto:
break
Expand All @@ -285,17 +284,17 @@ def main():
continuar()

print()
mostrar_datos_producto(producto)
inventario.mostrar_datos_producto(producto)
else:
print()
print('MENSAJE: Aún no ha registrado productos.')
elif opcion == 4:
if len(productos):
if len(inventario.productos):
while True:
listar_productos(productos)
listar_productos(inventario.productos)
codigo_producto = capturar_entero('Digite el ID del producto')

producto = buscar_producto(productos, codigo_producto)
producto = inventario.buscar_producto(codigo_producto)

if producto:
break
Expand All @@ -305,14 +304,14 @@ def main():

continuar()

cambiar_estado_producto(producto)
mostrar_datos_producto(producto)
inventario.cambiar_estado_producto(producto)
inventario.mostrar_datos_producto(producto)
else:
print()
print('MENSAJE: Aún no ha registrado productos.')
elif opcion == 5:
if len(productos):
if len(ventas):
if len(inventario.productos):
if len(inventario.ventas):
while True:
try:
fecha_inicio = capturar_cadena('Digite la fecha de inicio (AAAA-MM-DD)')
Expand All @@ -337,11 +336,11 @@ def main():

print()

ventas_rango = ventas_rango_fecha(ventas, fecha_inicio, fecha_final)
ventas_rango = inventario.ventas_rango_fecha(fecha_inicio, fecha_final)

if len(ventas_rango):
for v in ventas_rango:
mostrar_datos_venta(productos, v)
inventario.mostrar_datos_venta(v)
print()
else:
print()
Expand All @@ -353,13 +352,13 @@ def main():
print()
print('MENSAJE: Aún no ha registrado productos.')
elif opcion == 6:
if len(productos):
if len(ventas):
productos_vendidos = top_5_mas_vendidos(ventas)
if len(inventario.productos):
if len(inventario.ventas):
productos_vendidos = inventario.top_5_mas_vendidos()

print('Top 5 de los productos más vendidos')
for p in productos_vendidos:
mostrar_datos_venta_producto(productos, p)
inventario.mostrar_datos_venta_producto( p)
print()
else:
print()
Expand All @@ -368,13 +367,13 @@ def main():
print()
print('MENSAJE: Aún no ha registrado productos.')
elif opcion == 7:
if len(productos):
if len(ventas):
productos_vendidos = top_5_menos_vendidos(ventas)
if len(inventario.productos):
if len(inventario.ventas):
productos_vendidos = inventario.top_5_menos_vendidos()

print('Top 5 de los productos menos vendidos')
for p in productos_vendidos:
mostrar_datos_venta_producto(productos, p)
inventario.mostrar_datos_venta_producto(p)
print()
else:
print()
Expand All @@ -387,8 +386,8 @@ def main():

print()

if len(productos):
if guardar_datos(productos, ventas):
if len(inventario.productos):
if guardar_datos(inventario):
print('Los datos del inventario (productos y ventas) se han guardado en disco.')
else:
print('Ha omitido almacenar los datos en disco.')
Expand Down
10 changes: 5 additions & 5 deletions parte16/proyecto0/inventario/modelos/inventario.py
Expand Up @@ -141,16 +141,16 @@ def mostrar_datos_venta(self, venta):
Parameters:
venta: Venta a consultar sus datos.
"""
print('ID Producto: %i' % venta.codigoproducto)
print('ID Producto: %i' % venta.codigo_producto)
print('Fecha: %s' % venta.fecha)
print('Cantidad: %i' % venta.cantidad)
print('Total sin IVA: $%.2f' % venta.total_sin_iva)
print('Total:: $%.2f' % (venta.total_sin_iva * 1.19))
print('Total: $%.2f' % (venta.total_sin_iva * 1.19))
print()
print('Datos del producto:')
mostrar_datos_producto(buscar_producto(self.productos, venta.codigo_producto))
self.mostrar_datos_producto(self.buscar_producto(venta.codigo_producto))

def mostrar_datos_venta_producto(self, datos_venta):
producto = buscar_producto(self.productos, datos_venta[0])
mostrar_datos_producto(producto)
producto = self.buscar_producto(datos_venta[0])
self.mostrar_datos_producto(producto)
print('Cantidad vendida: %i' % datos_venta[1])

0 comments on commit 532473d

Please sign in to comment.