Python - Me explican el funcionamiento?

 
Vista:
sin imagen de perfil

Me explican el funcionamiento?

Publicado por Marcos (4 intervenciones) el 06/12/2021 21:52:30
Buenas, alguien me pude dar una mano explicándome el funcionamiento de estas listas y como se logra llegar al valor final?? Soy nuevo en esto y me cuesta bastante captarlo jaja. Desde ya muchas gracias.


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
74
75
76
77
78
79
80
81
82
83
84
85
86
productos=[]
compras = 10
 
aud =[["audífono in-ear Aiwa",10990],["audífono over-ear Aiwa",14990],["audífono in-ear Xiaomi",14990],
        ["audífono in-ear Huawei",19990],["audífono in-ear Kz",12990],["audífono in-ear Sony",16990],
        ["audífono over-ear Sony",19990],["parlante bluetooth Aiwa",13990],["parlante bluetooth JBL",19990],["parlante bluetooth Sony",21990],[6]]
 
cel = [["cargador 15w Aiwa",10990],["cargador 20w Aiwa",14990],["cargador 18w Xiaomi",14990],
        ["cargador 22w Huawei",19990],["Cable micro USB alternativo",2990],["Cable micro USB marca",4990],
        ["Cable USB C alternativo",4990],["Cable USB C marca",9990],["Cable lightining alternativo",4990],["Cable lightining marca",4990],[6]]
 
ele = [["plancha a vapor Valory",10990],["plancha a vapor Somela",14990],["juguera Valory",14990],
                    ["juguera Somela",19990],["cafetera Valory",12990],["cafetera Somela",16990],
                    ["cafetera Thomas",19990],["hervidor Valory",13990],["hervidor Somela",19990],["hervidor Thomas",21990],[6]]
 
com=[["mouse usb básico",3990],["mouse inalámbrico básico",4990],["mouse usb Kensington",6990],
             ["mouse inalámbrico Kensington",9990],["mousepad genérico",2990],["mousepad Kensington",3990],
             ["pendrive 16gb",6990],["pendrive 32gb",6990],["pendrive 64gb",9990],["kit 3 pendrive 32gb ",15990],[6]]
 
def comprar(lista):
    global compras
    print("Listado de Productos")
    for x in range(10):
        print(f"{x+1} {lista[x][0]} {lista[x][1]}")
 
    while True:
        if lista[10][0] > 0 and compras > 0:
 
            acepta = input("¿Desea realizar una compra? S = Si / N = No >> ").lower()
            if acepta == "s":
                producto = input ("Por favor indíquenos el id del producto que desea comprar: ")
 
                if producto in ["1","2","3","4","5","6","7","8","9","10"]:
                    id=int(producto)
                    unidades = input("Por favor indique la cantidad que desea: ")
                    while unidades not in "0123456789":
                        unidades = input("Por favor indique la cantidad correcta: ")
                        unidades=int(unidades)
 
                    if unidades:
 
                        articulo = [lista[id -1][0],lista[id-1][1]]
                        articulo.append(unidades)
                        productos.append(articulo)
                        lista[10][0] -= unidades
                        compras -= unidades
                        print("Item \tArtículo\t\t\t\t\tCosto\t\t\tCantidad\t\t\tSubtotal ")
                        total = 0
                        for x in range(len(productos)):
                            print(f"{x+1}\t{productos[x][0]:<30}\t{productos[x][1]}\t\t{productos[x][2]}\t{productos[x][1]*productos[x][2]} ")
                            total+= productos[x][1]*productos[x][2]
                        print(f"\t\t\t\t\t\t\tTotal=  {total}")
 
                else:
                    print("Por favor indique un id de producto válido")
 
 
            elif acepta == "n":
                print("Compra candelada")
                return
            else:
                print("Opción incorrecta")
                return
 
def tienda():
    departamentos={"1":[aud,"audio"],"2":[cel,"celulares"],"3":[ele,"electrodomésticos"],"4":[com,"computación"]}
    while True:
        print ("""Bienvenido a electroventas, por favor indique el departamento que desea visitar
        1- para audio
        2- para accesorios de celulares
        3- para electrodomésticos
        4- para accesorios de computador
        5- Terminar""")
        dep = input("Su elección es: " )
        if dep in "1234":
            elegido = departamentos.get(dep)
            print("")
            print("Departamento de ",elegido[1])
            comprar(elegido[0])
        elif dep == "5":
            print ("Programa terminado")
            break
        else:
            print ("Opción no válida, por favor inténtelo nuevamente")
 
tienda()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de 7aamin
Val: 11
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

Me explican el funcionamiento?

Publicado por 7aamin (117 intervenciones) el 06/12/2021 22:58:30
Y cual es el valor final..!!! si tu pregunta es saber como llegar a un valor especifico de una lista, no hace falta que publiques todo el codigo...
si tienes una lista
1
lista = ["Valor1", "Valor2"]
accedes a los valores de la lista usando sus indices, donde el 0 es el primero...
1
lista[0] #Esto selecciona "Valor1"
Si tienes listas que dentro tienen otras listas, accedes de la misma manera:
1
2
lista = ["Valor1", ["OtraLista"]]
lista[1][0] #[1] Esto selecciona  el Indice 1 de la lista padre (que es el segundo elemento), y luego [0] selecciona el primer elemento de la lista hija
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Me explican el funcionamiento?

Publicado por Marcos (4 intervenciones) el 07/12/2021 14:19:26
Muchas gracias!! Lo que sigo sin comprender es esta parte del codigo

1
2
3
4
5
6
7
8
9
10
11
articulo = [lista[id -1][0],lista[id-1][1]]
                        articulo.append(unidades)
                        productos.append(articulo)
                        lista[10][0] -= unidades
                        compras -= unidades
                        print("Item \tArtículo\t\t\t\t\tCosto\t\t\tCantidad\t\t\tSubtotal ")
                        total = 0
                        for x in range(len(productos)):
                            print(f"{x+1}\t{productos[x][0]:<30}\t{productos[x][1]}\t\t{productos[x][2]}\t{productos[x][1]*productos[x][2]} ") #Que hace aca?
                            total+= productos[x][1]*productos[x][2]
                        print(f"\t\t\t\t\t\t\tTotal=  {total}")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar