[ Foro de retos de programación ]

Hola, buenos dias, quiero saber si me pueden ayudar con el siguiente problema:

15-Oct-2018 20:24
sergio galvis
1 Respuestas

Un empleado de la tienda “más x menos” realiza N ventas durante el día, se requiere saber cuántas de
ellas fueron mayores a $1.000, cuántas fueron mayores a $500 pero menores o iguales a $1.000 y
cuántas fueron menores o iguales a $500. Además se quiere saber el monto de lo vendido en cada
categoría y de forma global.

el codigo de python que llevo es:

cv=0
a=0
b=0
c=0
tv1=0
tv2=0
tv3=0
tv=0
n=int(input("Digite la cantidad de ventas hechas"))
while cv<n:
   monto_venta=int(input("Digite el valor de la venta"))
   if monto_venta > 1000:
       a=a+1
       tv1=tv1+1
       t1=monto_venta*tv1
       cv=cv+1

   elif monto_venta > 500 and monto_venta <= 1000:
       monto_venta2=int(input("Digite el valor de la venta"))
       b=b+1
       tv2=tv2+1
       t2=monto_venta2*tv2
       cv=cv+1
       
   else:
       monto_venta3=int(input("Digite el valor de la venta"))
       c=c+1
       tv3=tv3+1
       t3=monto_venta3*tv3
       cv=cv+1

print("La cantidad de ventas mayores a $ 1000 es", a ," y el total de estas ventas es:" ,t1)
print("La cantidad de ventas mayores a $ 1000 es", b ," y el total de estas ventas es:" ,tv2)
print("La cantidad de ventas mayores a $ 1000 es", c ," y el total de estas ventas es:" ,tv3)
print("El total de las ventas es de: ",tv)


pero algo me esta quedando mal, alguien que sepa por favor ayuda


27-Oct-2018 23:51
Nacho Cabanes (+37)

Deberías leer todas las ventas, guardarlas en una lista y luego, en una segunda pasada, tratar de analizarlas. O, al menos, hacer una única lectura en cada pasada, contando y totalizando cada categoría. El hacer 3 lecturas en cada pasada hace que tu planteamiento falle.






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...