Hola Eva, espero que estés bien
Tu solución parece estar bien encaminada para resolver el problema planteado en la actividad. Estás utilizando una lista de diccionarios para almacenar los productos y sus ventas, lo cual es una buena manera de estructurar tus datos. Aquí hay algunos puntos que podrías considerar para asegurarte de que tu código funcione como esperas:
Entrada de Datos: Asegúrate de que cuando ingresas las ventas, estás introduciendo números válidos. Si introduces un valor no numérico, el programa lanzará un error. Puedes considerar agregar un manejo de excepciones para mejorar la robustez de tu código.
Comparación de Ventas: Tu lógica para comparar las ventas y determinar el producto más vendido o si hay un empate es correcta. Estás utilizando max() con una función lambda, lo cual es una forma eficiente de encontrar el producto con la mayor cantidad de ventas.
Salida: La función round() que usas para mostrar las ventas redondeará al número entero más cercano. Si deseas mostrar un decimal específico, podrías usar un formato más detallado, por ejemplo: "{:.2f}".format(ProductoMejorVendido['venta']).
Aquí tienes un ejemplo de cómo podrías manejar una excepción para la entrada de datos:
for i in range(len(productos)):
while True:
try:
productos[i]['venta'] = float(input("Ingrese la venta del producto {}: ".format(productos[i]['producto'])))
break
except ValueError:
print("Por favor, ingrese un número válido para las ventas.")
Esto asegurará que el usuario introduzca un número válido antes de continuar con el programa.
Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!