1 - Manejo de errores en división
def dividir(): try: num1 = float(input("Ingrese el primer número decimal: ")) num2 = float(input("Ingrese el segundo número decimal: ")) resultado = num1 / num2 except ZeroDivisionError: print("Error: No se puede dividir entre cero.") except ValueError: print("Error: Entrada inválida, asegúrate de ingresar números.") else: print(f"El resultado de la división es: {resultado}") finally: print("Fin del manejo de errores en la división.")
dividir()
2 - Buscar clave en un diccionario con manejo de errores
def buscar_clave(): edades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17} clave = input("Ingrese un nombre para buscar su edad: ") try: edad = edades[clave] except KeyError: print("Nombre no encontrado.") else: print(f"La edad de {clave} es {edad} años.") finally: print("Búsqueda completada.")
buscar_clave()
3 - Convertir valores de una lista a flotantes
def convertir_a_flotantes(lista): try: lista_flotantes = [float(valor) for valor in lista] except ValueError as e: print(f"Error: {e}") return None else: return lista_flotantes finally: print("Fin de la ejecución de la función.")
Prueba de la función
lista = ["3.14", "2.71", "error", "1.41"] resultado = convertir_a_flotantes(lista) print(f"Resultado: {resultado}")
4 - Agrupar listas en tuplas con manejo de errores
def agrupar_listas(lista1, lista2): try: if len(lista1) != len(lista2): raise IndexError("La cantidad de elementos en cada lista es diferente.") resultado = [(lista1[i], lista2[i], lista1[i] + lista2[i]) for i in range(len(lista1))] except Exception as e: print(f"Error: {e}") return None else: return resultado
Pruebas
lista1 = [4, 6, 7, 9, 10] lista2 = [-4, 6, 8, 7, 9] print(agrupar_listas(lista1, lista2))
lista1 = [4, 6, 7, 9, 10, 4] lista2 = [-4, 6, 8, 7, 9] print(agrupar_listas(lista1, lista2))
lista1 = [4, 6, 7, 9, "A"] lista2 = [-4, "E", 8, 7, 9] print(agrupar_listas(lista1, lista2))
5 - Contabilizar puntuaciones de estudiantes
def calcular_notas(respuestas_correctas, tests): try: for prueba in tests: for respuesta in prueba: if respuesta not in ['A', 'B', 'C', 'D']: raise ValueError(f"La alternativa '{respuesta}' no es una opción de alternativa válida.") notas = [sum(1 for i, respuesta in enumerate(prueba) if respuesta == respuestas_correctas[i]) for prueba in tests] except Exception as e: print(f"Error: {e}") else: return notas
Datos
respuestas = ['D', 'A', 'B', 'C', 'A'] tests_sin_ex = [['D', 'A', 'B', 'C', 'A'], ['C', 'A', 'A', 'C', 'A'], ['D', 'B', 'A', 'C', 'A']] tests_con_ex = [['D', 'A', 'B', 'C', 'A'], ['C', 'A', 'A', 'E', 'A'], ['D', 'B', 'A', 'C', 'A']]
print(calcular_notas(respuestas, tests_sin_ex)) print(calcular_notas(respuestas, tests_con_ex))
6 - Verificar puntuación en una frase generada.
def verificar_puntuacion(lista): try: for palabra in lista: if any(caracter in palabra for caracter in [',', '.', '!', '?']): raise ValueError(f"El texto presenta puntuaciones en la palabra '{palabra}'") except Exception as e: print(f"Error: {e}") else: print("La lista no contiene puntuaciones.") finally: print("Verificación completada.")
Pruebas
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']
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_tratada) verificar_puntuacion(lista_no_tratada)