Python - Problema con un ejercicio

 
Vista:

Problema con un ejercicio

Publicado por Alejo (3 intervenciones) el 21/05/2021 23:55:42
HOLA TENGO UN PROBLEMA, CUANDO EL VENDEDOR 1 ES EL DEL IMPORTE MAS ALTO EN VEZ DE IMPRIMIRME EL 1 (REFIRIENDOSE AL VENDEDOR 1) ME IMPRIME 0; PORQUE SERA EL PROBLEMA??
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#11. En un comercio hay cuatro vendedores y quieren saber, cuál fue el que realizó la venta de
#mayor importe, y cual la venta de menor importe. Terminar el proceso cuando el importe
#leído sea cero. los datos se leerán de a pares (Codven, Imp).
importemayor=0
importemenor=0
ventamayor=0
ventamenor=0
importe = 1
cont=0
while importe > 0 or cont < 4:
    vendedor= int(input("Ingrese el codigo del vendedor: "))
    importe=float(input("ingrese el importe: "))
    cont=cont+1
    if cont == 1:
        importemayor=importe
        importemenor=importe
    if importe>importemayor and importe>0:
        importemayor=importe
        ventamayor=vendedor
    elif importe < importemenor and importe>0:
        importemenor=importe
        ventamenor=vendedor
print(f"La venta mayor realizada la hizo {ventamayor} y el importe fue {importemayor}")
print(f"La venta menor realizada la hizo {ventamenor} y el importe fue {importemenor}")
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Problema con un ejercicio

Publicado por tincopasan (1082 intervenciones) el 22/05/2021 09:11:54
1) no es necesario hacer doble post
2) no dices que se puede o no usar y menos la versión de python
3) según el planteo: los datos se leerán de a pares (Codven, Imp). y los estás haciendo de forma individual
4)tu lógica me parece muy mala ya que solo ingresaras 4 ventas ¿y si hay varias? hay tantos if que marea
5) el principal objetivo de python es simplificar
6) te muestro un código, que usa diccionarios y funciones propias de python.
7) se puede hacer de muchas otras formas, pero no fuiste específico.
8) se supone que cada número corresponde a un vendedor, no hay códigos especificados
9) no tiene manejo de errores , tampoco fue aclarado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ventas={'1':0,'2':0,'3':0,'4':0}
 
while True:
    Codven,Imp = input("Código del vendedor e importe separados por espacio: ").split()
    if Imp == "0":
        break
    if Codven in "1234":
        ventas[Codven]+= float(Imp)
 
 
mayor = max(ventas,key = ventas.get)
menor = min(ventas,key = ventas.get)
 
print(f"La venta mayor realizada la hizo {mayor} y el importe fue ${ventas.get(mayor)}")
print(f"La venta menor realizada la hizo {menor} y el importe fue ${ventas.get(menor)}")
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