-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
73 lines (60 loc) · 2.56 KB
/
main.py
File metadata and controls
73 lines (60 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from Package_funciones.funciones_generales import *
from Package_funciones.funciones_especificas import *
# Constantes del sistema
CANTIDAD_CLIENTES = 15
TIPOS_PAQUETE = 3
def main():
matriz_precios = crear_matriz(TIPOS_PAQUETE, 2, 0)
cargar_matriz_precios(matriz_precios)
matriz_clientes = crear_matriz(CANTIDAD_CLIENTES, TIPOS_PAQUETE, 0)
cargar_matriz(matriz_clientes, 0, 5)
while True:
print("""
1. Cantidad de paquetes que envía cada cliente.
2. Cantidad de clientes que no enviaron ni paquetes pequeños ni grandes.
3. Generar un informe de clientes ordenados por el total a pagar de sus envíos de forma
descendente.
4. Total de la recaudación en pesos por cada tipo de paquete. Además, necesitamos saber
cuál es el tamaño que más recaudó.
5. Informar cuál fue el/los clientes que enviaron más cantidad de paquetes medianos.
6. Salir
""")
opcion_ingresada = get_int("Ingrese un numero: ", "Error numero no valido", 0)
match opcion_ingresada:
case 1:
mostrar_matriz(matriz_clientes)
case 2:
cantidad_clientes_sin_pequeños_grandes = recorrer_fila_especifico(matriz_clientes)
print(f"La cantidad de clientes que no tienen paquetes pequeños o grandes es de: {cantidad_clientes_sin_pequeños_grandes}")
case 3:
lista_generada_total = generar_total_por_cliente(matriz_clientes, matriz_precios)
ordenar_menor_mayor(lista_generada_total)
case 4:
total_recaudacion_columna(matriz_clientes, matriz_precios)
case 5:
buscar_maximo_especifico(matriz_clientes)
case 6:
quit()
case _:
print("Opcion invalida.")
if __name__ == '__main__':
main()
def calcular_minimo_porcentaje(inversiones, nombre_inversiones):
lista_acciones_por_empresa = []
total_acumulado = 0
porcentaje = []
for i in range(len(inversiones[0])):
acumulador = 0
for j in range(len(inversiones)):
acumulador += inversiones[j][i]
total_acumulado += acumulador
lista_acciones_por_empresa += [acumulador]
for i in range(len(lista_acciones_por_empresa)):
porcentaje += [(lista_acciones_por_empresa[i] / total_acumulado) * 100]
print(f"{nombre_inversiones[i]} {porcentaje[i]:.2f}")
inversiones = [[1,30,50],
[10,20,500],
[100,200,300]
]
nombre_inversiones = ["A","B","C"]
calcular_minimo_porcentaje(inversiones, nombre_inversiones)