5_14_Excepciones_desafio_2

Run Settings
LanguagePython
Language Version
Run Command
def operaciones_matematicas(lista): try: # Intentar convertir cada elemento de la lista a un número flotante lista_numerica = [] for x in lista: try: lista_numerica.append(float(x)) # Convierte el elemento a un número except ValueError: # Lanza un ValueError si el elemento no se puede convertir raise ValueError(f"'{x}' no es un número válido.") # Calcular la suma de los elementos en la lista suma = sum(lista_numerica) print(f"Suma: {suma}") # Calcular el promedio, manejando el posible ZeroDivisionError promedio = suma / len(lista_numerica) # Esto fallará si la lista está vacía print(f"Promedio: {promedio}") # Calcular el producto de todos los elementos de la lista producto = 1 for num in lista_numerica: producto *= num # Multiplica cada elemento acumulativamente print(f"Producto: {producto}") except ZeroDivisionError: # Se ejecuta si intentamos dividir por cero (lista vacía) print("Error: División por cero. Asegúrate de que la lista no esté vacía.") except ValueError as ve: # Captura y muestra el error si hay elementos no numéricos print(f"Error: {ve}") except TypeError: # Captura errores donde el tipo de datos no sea compatible print("Error: La lista debe contener solo valores numéricos.") except Exception as e: # Captura cualquier otro error no previsto print(f"Error inesperado: {e}") # Ejemplo de uso # La entrada se simula con una lista que puede contener errores, como letras o caracteres especiales entrada = input("Ingrese los valores separados por comas: ") # Ejemplo: 1, 2, a, 4, 0 valores = entrada.split(",") # Divide la entrada en una lista de strings operaciones_matematicas(valores)
Editor Settings
Theme
Key bindings
Full width
Lines