Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

DESAFIO EXCEPCIONES

Ejercicio 1: Solicitar dos números decimales y calcular la división con manejo de errores

print("Ejercicio N° 1") try: num1 = float(input("Ingrese el primer número decimal: ")) num2 = float(input("Ingrese el segundo número decimal: ")) resultado = num1 / num2 # Intentar realizar la división except ZeroDivisionError as e: print(f"Error: No se puede dividir por cero. {e}") except ValueError as e: print(f"Error: Valor no válido. Asegúrese de ingresar números decimales. {e}") except Exception as e: print(f"Error: {e}") else: print(f"El resultado de la división es: {resultado}") finally: print() # Salto de línea vacío

Ejercicio 2: Buscar clave en un diccionario con manejo de error KeyError

print("Ejercicio N° 2") edades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17} nombre = input("Ingrese un nombre para buscar la edad: ") try: edad = edades[nombre] # Intentar obtener el valor de la clave print(f"La edad de {nombre} es {edad}.") except KeyError: print("Nombre no encontrado.") finally: print() # Salto de línea vacío

Ejercicio 3: Convertir todos los valores de una lista a flotantes

print("Ejercicio N° 3") def convertir_a_flotante(lista): try: lista_convertida = [float(i) for i in lista] # Intentar convertir a flotante return lista_convertida except ValueError as e: print(f"Error: No se puede convertir el valor a flotante. {e}") except Exception as e: print(f"Error: {e}") finally: print("Fin de la ejecución de la función")

Ejercicio 4: Agrupar dos listas en tuplas de 3 elementos

print("Ejercicio N° 4") def agrupar_listas(lista1, lista2): try: if len(lista1) != len(lista2): raise IndexError("La cantidad de elementos en cada lista es diferente.") lista_tuplas = [(lista1[i], lista2[i], lista1[i] + lista2[i]) for i in range(len(lista1))] return lista_tuplas except IndexError as e: print(f"Error: {e}") except ValueError as e: print(f"Error: {e}") except Exception as e: print(f"Error: {e}") finally: print("Fin de la ejecución de la función.")

Prueba con listas de igual tamaño

lista1 = [4, 6, 7, 9, 10] lista2 = [-4, 6, 8, 7, 9] print(agrupar_listas(lista1, lista2))

Prueba con listas de tamaño diferente

lista1_diferente = [4, 6, 7, 9, 10, 4] lista2_diferente = [-4, 6, 8, 7, 9] print(agrupar_listas(lista1_diferente, lista2_diferente))

Prueba con valores incoherentes

lista1_incoherente = [4, 6, 7, 9, 'A'] lista2_incoherente = [-4, 'E', 8, 7, 9] print(agrupar_listas(lista1_incoherente, lista2_incoherente)) print() # Salto de línea vacío

Ejercicio 5: Calcular las puntuaciones de los estudiantes con manejo de excepciones

print("Ejercicio N° 5") def calcular_puntuaciones(tests): try: notas = [] for test in tests: for respuesta in test: if respuesta not in ['A', 'B', 'C', 'D']: # Validar las alternativas raise ValueError(f"La alternativa {respuesta} no es una opción de alternativa válida") # Calcular la puntuación score = test.count('A') + test.count('B') + test.count('C') + test.count('D') notas.append(score) return notas except ValueError as e: print(f"Error: {e}") finally: print("Fin de la ejecución de la función.")

Ejercicio 6: Verificar el tratamiento de símbolos de puntuación

print("Ejercicio N° 6") def verificar_puntuacion(lista): try: for palabra in lista: if palabra[-1] in [',', '.', '!', '?']: # Comprobar si la palabra tiene puntuación al final raise ValueError(f"El texto presenta puntuaciones en la palabra {palabra}") print("El texto no tiene puntuaciones.") except ValueError as e: print(e) finally: print("Fin de la ejecución de la función.")

Lista tratada (sin puntuación)

lista_tratada = ['Python', 'es', 'un', 'lenguaje', 'de', 'programación', 'poderoso', 'versátil', 'y', 'fácil', 'de', 'aprender', 'utilizado', 'en', 'diversos', 'campos', 'desde', 'análisis', 'de', 'datos', 'hasta', 'inteligencia', 'artificial'] verificar_puntuacion(lista_tratada)

Lista no tratada (con puntuación)

lista_no_tratada = ['Python', 'es', 'un', 'lenguaje', 'de', 'programación', 'poderoso,', 'versátil', 'y', 'fácil,', 'de', 'aprender', 'utilizado', 'en', 'diversos', 'campos,', 'desde', 'análisis', 'de', 'datos', 'hasta', 'inteligencia', 'artificial!'] verificar_puntuacion(lista_no_tratada)

1 respuesta

Hola,

Gracias por compartir tu código con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!