Python - Problema con listas

 
Vista:
sin imagen de perfil
Val: 9
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

Problema con listas

Publicado por Jeifer (2 intervenciones) el 10/10/2020 07:25:32
Tengo un problema de un supermercado que asigna una cantidad x de articulos a un numero indeterminado de usuarios donde para saber que se trata de un nuevo usuario se agrega una identificacion diferente. No se como asignar la lista de articulos al usuario actual y luego pasar a asignar una nueva lista de articulos a un nuevo usuario.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Problema con listas

Publicado por joel (901 intervenciones) el 10/10/2020 08:44:51
No se entiende muy bien tu pregunta Jeifer... puedes comentar con mas detalle? o mostrar un ejemplo de lo que quieres que haga el programa?
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
Val: 9
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

Problema con listas

Publicado por Jeifer (2 intervenciones) el 11/10/2020 17:32:17
Hola buenos dias, primero muchas gracias por tu colaboracion, mira esto es lo que me pide que haga el programa te envio esto y te envio luego el programa, yo modifique el programa para que haga arroje lo que se espera que deberia arrojar el programa pero no esta bien hecho.

Reto para la semana 3: El carrito de compras
Límite de entrega: Tuesday, 13 de October de 2020, 23:59
Número máximo de ficheros: 1
Tipo de trabajo: Individual
El Centro Comercial Unaleño está muy cerca de crear carrito de compras. Ahora lo que se requiere de su parte es que se puedan agregar un número indefinido de artículos y calcular la cuenta.

Se han definido varios comandos para realizar la prueba de la lógica del carrito de compras a bajo nivel. Para esto se definen ahora diferentes comandos que se realizan al momento de realizar una compra y que presentan la siguiente sintaxis:

comando&sintaxis_comando

Los comandos definidos ahora son:

Comando 1: Añadir ítem al carrito de compras

La sintaxis del comando 1 es la siguiente:

1&nombre_articulo&cantidad&precio

Comando 2: Generar tirilla de compras

La sintaxis del comando 2 es la siguiente:

2&cedula_cliente

Esta función debe retornar la tirilla de compras en texto
El cálculo de descuento se mantiene y se debe generar la misma tirilla que se generó en el reto anterior, pero incluyendo la cédula del cliente y la cantidad de artículos por producto en el formato indicado en el ejemplo. Dado el valor total de la compra se continúa con la campaña titulada compra más y gasta menos con los siguientes descuentos:
Por compras mayores a 150000 lleva un 10% de descuento.
Por compras mayores a 300000 lleva un 15% de descuento.
Por compras mayores a 700000 lleva un 20% de descuento
Al imprimir la tirilla, la aplicación elimina ese carrito de compras y queda disponible para ejecutar de nuevo comandos.
Comando 3 – Salir de la aplicación

La sintaxis del comando 3 es la siguiente:

3

Este comando simplemente permite salir de la aplicación

Entrada: Diferentes comandos según el cargue y la impresión de tirillas de venta

Salida: Salidas dependiendo del comando especificado anteriormente

Nota: Como el centro comercial está siendo muy generoso con los descuentos, el valor a cobrar en caso de tener centavos se debe aproximar a techo usando la función ceil de python (https://www.tutorialspoint.com/python/number_ceil.htm)

Ejemplo:

Entrada

Salida

1&Chocolatinas Cohete&3&300
1&Mora&1&1000
1&Pan de Maiz&5&300
2&1022734737
1&Televisor&2&1500000
1&Teatro en Casa&1&450000
2&99999287
3

Centro Comercial Unaleño
Compra más y Gasta Menos
NIT: 899.999.063
Cliente: 1022734737
Art Cant Precio
Chocolatinas Cohete 3 $900
Mora 1 $1000
Pan de Maiz 3 $1500
Total: $3400
En esta compra tu descuento fue $0
Gracias por tu compra
---
Centro Comercial Unaleño
Compra más y Gasta Menos
NIT: 899.999.063
Cliente: 99999287
Art Cant Precio
Televisor 2 $3000000
Teatro en Casa 1 $450000
Total: $2760000
En esta compra tu descuento fue $690000
Gracias por tu compra
---

PROGRAMA

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#Creacion de variables iniciales necesarias
articulos=[]
cantidad=[]
precios=[]
cedula=[]
sumatoria=[]
sumatoria2=[]
 
#Importando la funcion de redondeo ceil
import math
 
#Entradas
entrada=input().split('&')
# Definicion del primer comando
while entrada[0]!='3':
    if entrada[0]=='1':
        articulos.append(entrada[1])
        cantidad.append(int(entrada[2]))
        precios.append(int(entrada[3]))
        entrada=input().split('&')
#Definicion del segundo comando
    if entrada[0]=='2':
        cedula.append(entrada[1])
        entrada=input().split('&')
#Definicion del tercer comando(Finalizacion de captura de datos)
    if entrada[0]=='3':
        break
 
#Tama;o de la lista
n=len(articulos)
m=len(cedula)
 
#Segunda parte
 
if m<=1:
 
        #Imprimir primera parte
    print('Centro Comercial Unaleño')
    print('Compra más y Gasta Menos')
    print('NIT: 899.999.063')
    print('Cliente: '+cedula[0])
    print('Art Cant Precio')
 
        #Calculo de los descuentos
    for i in range(0,n):
        sumatoria.append(precios[i]*cantidad[i])
        precio_sin_descuento=sum(sumatoria)
 
    if 0<=precio_sin_descuento<=150000:
        for i in range(0,n):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(precio_sin_descuento))
        print('En esta compra tu descuento fue $0')
 
    if 150000<precio_sin_descuento<=300000:
        total1=(precio_sin_descuento-(precio_sin_descuento*0.1))
        for i in range(0,n):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(math.ceil(total1)))
        print('En esta compra tu descuento fue $'+str(math.ceil((precio_sin_descuento*0.1))))
    if 300000<precio_sin_descuento<=700000:
        total=precio_sin_descuento-(precio_sin_descuento*0.15)
        for i in range(0,n):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(math.ceil(total)))
        print('En esta compra tu descuento fue $'+str(int(((precio_sin_descuento*.15)))))
    if precio_sin_descuento>700000:
        total2=precio_sin_descuento-(precio_sin_descuento*0.2)
        for i in range(0,n):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str((math.ceil(total2))))
        print('En esta compra tu descuento fue $' + str(math.ceil((precio_sin_descuento*0.20))))
 
        #Imprimir la tirilla segunda parte
    print('Gracias por tu compra')
 
else:
            #Imprimir primera parte
    print('Centro Comercial Unaleño')
    print('Compra más y Gasta Menos')
    print('NIT: 899.999.063')
    print('Cliente: '+cedula[0])
    print('Art Cant Precio')
 
    #Calculo de los descuentos
    for i in range(0,3):
        sumatoria.append(precios[i]*cantidad[i])
        precio_sin_descuento=sum(sumatoria)
 
    if 0<=precio_sin_descuento<=150000:
        for i in range(0,3):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(precio_sin_descuento))
        print('En esta compra tu descuento fue $0')
 
    if 150000<precio_sin_descuento<=300000:
        total1=(precio_sin_descuento-(precio_sin_descuento*0.1))
        for i in range(0,3):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(math.ceil(total1)))
        print('En esta compra tu descuento fue $'+str(math.ceil((precio_sin_descuento*0.1))))
    if 300000<precio_sin_descuento<=700000:
        total=precio_sin_descuento-(precio_sin_descuento*0.15)
        for i in range(0,3):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(math.ceil(total)))
        print('En esta compra tu descuento fue $'+str(int(((precio_sin_descuento*.15)))))
    if precio_sin_descuento>700000:
        total2=precio_sin_descuento-(precio_sin_descuento*0.2)
        for i in range(0,3):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str((math.ceil(total2))))
        print('En esta compra tu descuento fue $' + str(math.ceil((precio_sin_descuento*0.20))))
 
        #Imprimir la tirilla segunda parte
    print('Gracias por tu compra')
    print('---')
#Imprimir primera parte 222222222222222222222222222
    print('Centro Comercial Unaleño')
    print('Compra más y Gasta Menos')
    print('NIT: 899.999.063')
    print('Cliente: '+cedula[1])
    print('Art Cant Precio')
 
    #Calculo de los descuentos
 
    for i in range(3,5):
        sumatoria2.append(precios[i]*cantidad[i])
        precio_sin_descuento2=sum(sumatoria2)
 
    if 0<=precio_sin_descuento2<=150000:
        for i in range(3,5):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(precio_sin_descuento2))
        print('En esta compra tu descuento fue $0')
 
    if 150000<precio_sin_descuento2<=300000:
        total1=(precio_sin_descuento2-(precio_sin_descuento2*0.1))
        for i in range(3,5):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(math.ceil(total1)))
        print('En esta compra tu descuento fue $'+str(math.ceil((precio_sin_descuento2*0.1))))
    if 300000<precio_sin_descuento2<=700000:
        total=precio_sin_descuento2-(precio_sin_descuento2*0.15)
        for i in range(3,5):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str(math.ceil(total)))
        print('En esta compra tu descuento fue $'+str(int(((precio_sin_descuento2*.15)))))
    if precio_sin_descuento2>700000:
        total2=precio_sin_descuento2-(precio_sin_descuento2*0.2)
        for i in range(3,5):
            print(articulos[i], 'x'+str(cantidad[i]), '$'+str(precios[i]*cantidad[i]))
        print('Total: $'+str((math.ceil(total2))))
        print('En esta compra tu descuento fue $' + str(math.ceil((precio_sin_descuento2*0.20))))
#Imprimir la tirilla segunda parte
    print('Gracias por tu compra')
    print('---')
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