martes, 25 de febrero de 2025

馃憠 Ejercicios Pr谩cticos de Python: Manejo de Excepciones y Errores

Despu茅s de aprender a manejar errores y excepciones en Python, es hora de practicar con ejercicios reales y 煤tiles.

Hoy resolveremos ejercicios sobre:
✔️ Uso de try-except para manejar errores
✔️ Captura de errores espec铆ficos (ValueError, ZeroDivisionError, etc.)
✔️ Uso de finally para cerrar recursos
✔️ Creaci贸n de excepciones personalizadas

馃搶 Cada ejercicio incluye el c贸digo, explicaci贸n y prueba de salida.


1️⃣ Ejercicio: Evitar Fallos al Ingresar un N煤mero

馃搷 Objetivo: Crear un programa que solicite un n煤mero al usuario y maneje el error si introduce un texto.

馃敼 C贸digo:

while True: try: numero = int(input("Introduce un n煤mero: ")) print(f"El doble de {numero} es {numero * 2}") break # Salir del bucle si la entrada es correcta except ValueError: print("❌ Error: Debes ingresar un n煤mero v谩lido. Int茅ntalo de nuevo.")

Se usa un bucle while True para repetir hasta que la entrada sea v谩lida.
try-except evita que el programa se bloquee si el usuario introduce un texto.

馃搶 Ejemplo de salida:

Introduce un n煤mero: hola ❌ Error: Debes ingresar un n煤mero v谩lido. Int茅ntalo de nuevo. Introduce un n煤mero: 5 El doble de 5 es 10

2️⃣ Ejercicio: Manejo de Divisi贸n por Cero

馃搷 Objetivo: Escribir un programa que divida dos n煤meros y maneje el error si el denominador es 0.

馃敼 C贸digo:

try: num1 = int(input("Introduce el numerador: ")) num2 = int(input("Introduce el denominador: ")) resultado = num1 / num2 print(f"Resultado: {resultado}") except ZeroDivisionError: print("❌ Error: No puedes dividir por cero.") except ValueError: print("❌ Error: Debes ingresar n煤meros v谩lidos.")

ZeroDivisionError se usa para capturar intentos de divisi贸n por 0.
ValueError captura errores cuando se ingresan caracteres en lugar de n煤meros.

馃搶 Ejemplo de salida:

Introduce el numerador: 10 Introduce el denominador: 0 Error: No puedes dividir por cero.

3️⃣ Ejercicio: Controlar Acceso a una Lista

馃搷 Objetivo: Escribir un programa que acceda a un 铆ndice de una lista y maneje errores de 铆ndice fuera de rango.

馃敼 C贸digo:

numeros = [10, 20, 30, 40, 50] try: indice = int(input("Introduce un 铆ndice (0-4): ")) print(f"El valor en la posici贸n {indice} es {numeros[indice]}") except IndexError: print("❌ Error: 脥ndice fuera de rango. Debes elegir entre 0 y 4.") except ValueError: print("❌ Error: Ingresa un n煤mero v谩lido.")

馃搶 Ejemplo de salida:

Introduce un 铆ndice (0-4): 6Error: 脥ndice fuera de rango. Debes elegir entre 0 y 4.

4️⃣ Ejercicio: Uso de finally para Cerrar Recursos

馃搷 Objetivo: Leer un archivo y asegurarse de cerrarlo correctamente con finally.

馃敼 C贸digo:

try: archivo = open("datos.txt", "r") contenido = archivo.read() print(contenido) except FileNotFoundError: print("❌ Error: El archivo no existe.") finally: print("馃搶 Operaci贸n finalizada.")

馃搶 Si el archivo datos.txt no existe, el programa mostrar谩:

Error: El archivo no existe. 馃搶 Operaci贸n finalizada.

finally asegura que siempre se cierre el archivo, incluso si hay un error.


5️⃣ Ejercicio: Crear una Excepci贸n Personalizada

馃搷 Objetivo: Definir una excepci贸n personalizada para validar edades.

馃敼 C贸digo:

class EdadInvalidaError(Exception): pass def verificar_edad(edad): if edad < 18: raise EdadInvalidaError("❌ Error: Debes ser mayor de edad.") print("✅ Acceso permitido.") try: edad = int(input("Introduce tu edad: ")) verificar_edad(edad) except EdadInvalidaError as e: print(e) except ValueError: print("❌ Error: Ingresa un n煤mero v谩lido.")

馃搶 Si el usuario ingresa una edad menor a 18:

Introduce tu edad: 15 Error: Debes ser mayor de edad.

raise lanza una excepci贸n personalizada.


馃殌 Conclusi贸n

✅ Hoy hemos resuelto ejercicios con manejo de excepciones en Python.
✅ Estos ejercicios ayudan a evitar que el programa se bloquee con errores inesperados.
✅ Practica modificando el c贸digo para entenderlo mejor.

馃搶 Pr贸ximo post: M谩s ejercicios avanzados con manejo de archivos y bases de datos en Python.

馃搨 Descarga los ejercicios en mi GitHub: github.com/josecodetech

馃帴 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech/

馃挰 ¿Has tenido errores inesperados en Python? Comparte tu experiencia en los comentarios.



No hay comentarios:

Publicar un comentario

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.