Volver
Ctrl+Space
◑
Copiar
Descargar
Restaurar
Ejecutar
Ctrl+Enter
# Excepciones en Python - Ejemplo 3: Conversor de datos # ======================================================== def convertir_a_numero(texto): """Intenta convertir un string a int o float.""" texto = texto.strip() if not texto: raise ValueError("el valor está vacío") try: return int(texto) except ValueError: try: return float(texto) except ValueError: raise ValueError(f"'{texto}' no es un número válido") def procesar_datos(datos): """Procesa una lista de strings y convierte los que pueda.""" resultados = [] errores = [] for item in datos: try: num = convertir_a_numero(item) resultados.append(num) except ValueError as e: errores.append({"valor": item, "error": str(e)}) return resultados, errores # Datos con mezcla de válidos e inválidos entradas = ["42", "3.14", "hola", "100", "", "7", "???", "0.5"] numeros, problemas = procesar_datos(entradas) print(f"Convertidos exitosamente ({len(numeros)}):") for n in numeros: print(f" {n}") print(f"\nSuma de válidos : {sum(numeros):.2f}") print(f"Promedio : {sum(numeros)/len(numeros):.2f}" if numeros else "") if problemas: print(f"\nNo se pudieron convertir ({len(problemas)}):") for p in problemas: print(f" '{p['valor']}' → {p['error']}")