[ 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 (+83)

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.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)