Update Python Ofensivo
This commit is contained in:
parent
85549ac613
commit
a307064326
92
python-ofensivo/00_ejercicios/03_proyecto_ventas_stock.py
Normal file
92
python-ofensivo/00_ejercicios/03_proyecto_ventas_stock.py
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
__Colecciones y estructuras de datos de Python__
|
||||||
|
Proyecto sumario de ventas y stock de juegos
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Juegos
|
||||||
|
juegos = [
|
||||||
|
"Super Mario Bros",
|
||||||
|
"Zelda",
|
||||||
|
"Cyberpunk 2077",
|
||||||
|
"Final Fantasy"
|
||||||
|
]
|
||||||
|
|
||||||
|
# Géneros
|
||||||
|
generos = {
|
||||||
|
"Super Mario Bros": "Aventuras",
|
||||||
|
"Zelda": "Aventuras",
|
||||||
|
"Cyberpunk 2077": "RPG",
|
||||||
|
"Final Fantasy": "RPG"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ventas y Stock
|
||||||
|
ventas_stock = {
|
||||||
|
"Super Mario Bros": (
|
||||||
|
100,
|
||||||
|
50
|
||||||
|
),
|
||||||
|
"Zelda": (
|
||||||
|
50,
|
||||||
|
25
|
||||||
|
),
|
||||||
|
"Cyberpunk 2077": (
|
||||||
|
1000,
|
||||||
|
500
|
||||||
|
),
|
||||||
|
"Final Fantasy": (
|
||||||
|
500,
|
||||||
|
250
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Clientes
|
||||||
|
clientes = {
|
||||||
|
"Super Mario Bros": {
|
||||||
|
"Sergi",
|
||||||
|
"Jose",
|
||||||
|
"Maria"
|
||||||
|
},
|
||||||
|
"Zelda": {
|
||||||
|
"Sergi",
|
||||||
|
"Ramón",
|
||||||
|
"Jesus"
|
||||||
|
},
|
||||||
|
"Cyberpunk 2077": {
|
||||||
|
"Fernando",
|
||||||
|
"Jose",
|
||||||
|
"Maria"
|
||||||
|
},
|
||||||
|
"Final Fantasy": {
|
||||||
|
"Eduardo",
|
||||||
|
"Jose",
|
||||||
|
"Maria"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Sumario
|
||||||
|
def sumario(juego):
|
||||||
|
print(f"[{juegos.index(juego) + 1}] {juego}")
|
||||||
|
print(f"\t[+] Género: {generos[juego]}")
|
||||||
|
print(f"\t[+] Ventas: {ventas_stock[juego][0]} unidades")
|
||||||
|
print(f"\t[+] Stock: {ventas_stock[juego][1]} unidades")
|
||||||
|
print(f"\t[+] Clientes totales: {len(clientes[juego])}")
|
||||||
|
print(f"\t[+] Nombre de clientes: {', '.join(clientes[juego])}")
|
||||||
|
print()
|
||||||
|
|
||||||
|
print("Sumario de TODOS los juegos")
|
||||||
|
for juego in juegos:
|
||||||
|
sumario(juego)
|
||||||
|
|
||||||
|
|
||||||
|
print("Sumario de los 2 juegos con MÁS STOCK")
|
||||||
|
for juego in sorted(ventas_stock, key=lambda x: ventas_stock[x][1], reverse=True)[:2]:
|
||||||
|
sumario(juego)
|
||||||
|
|
||||||
|
ventas_totales = lambda: sum(ventas for ventas, _ in ventas_stock.values())
|
||||||
|
|
||||||
|
print("DATOS TOTALES")
|
||||||
|
print(f"Total de juegos: {len(juegos)}")
|
||||||
|
print(f"Total de ventas: {ventas_totales()} unidades")
|
||||||
|
print(f"Total de stock: {sum([ventas_stock[juego][1] for juego in ventas_stock])} unidades")
|
Loading…
Reference in New Issue
Block a user