Quick actions

cmd+k|ctrl+k

Navigation

Languages

5_14_Excepciones_desafio_2

Snippet info

Language

Python

Visibility

public

Author

jorgetoto2006new

Created

2024-11-04T01:46:20.84393Z

Updated

2024-11-04T01:46:20.84393Z

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)
INFO