Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas

lunes, 13 de octubre de 2025

Tu portafolio digital: el arma secreta para destacar como programador

En el mundo de la programación, no basta con decir lo que sabes: hay que demostrarlo.

Tener un repositorio activo en GitHub y un canal de YouTube donde compartes tus proyectos y conocimientos te convierte en un perfil visible, valioso y con potencial real para las empresas.

📂 En mi caso, en GitHub.com/josecodetech encontrarás todos los códigos de los tutoriales y proyectos que publico en mi canal YouTube.com/@JoseCodeTech.

🎥 En el canal encontrarás contenido gratuito para aprender a programar desde cero, con ejemplos prácticos, retos y explicaciones claras, pensadas para todos los que aman la tecnología y quieren mejorar cada día.

💡 Si estás construyendo tu camino en el mundo tech, empieza hoy mismo:

  1. Crea tu repositorio.

  2. Comparte tus proyectos.

  3. Forma tu marca personal.
    Y si además te formas conmigo… ¡mejor aún! 😎





domingo, 12 de octubre de 2025

🧠 La irrupción de la IA en la programación


Cada vez escuchamos más que la inteligencia artificial “va a sustituir a los programadores”.

Desde mi punto de vista, eso no va a ocurrir. La IA no viene a quitarnos el trabajo, sino a potenciarlo. Es una herramienta más, tan poderosa como dependiente de quien la use.

Para aprovecharla de verdad necesitamos conocer bien las bases de la programación.

Muchas veces el código que genera la IA hay que revisarlo, adaptarlo y mejorarlo, y eso solo se consigue si entendemos lo que estamos haciendo y tenemos claro el objetivo que queremos alcanzar.

👉 Aprender IA sin dominar las bases de la programación es como intentar usar el último framework de moda sin conocer el lenguaje con el que debes programar.

Primero las bases, después las herramientas.

🔹 La IA acelera el desarrollo.

🔹 El programador aporta la lógica, la estructura y el sentido.

Y ahí está la clave: la IA no sustituye al programador, sino que amplía su capacidad.

El futuro no es “IA o programadores”, sino IA con programadores bien formados.

Si quieres aprender desde cero y paso a paso, en mi canal de YouTube https://www.youtube.com/@josecodetech encontrarás contenido gratuito para iniciarte en la programación con ejemplos reales, explicaciones sencillas y proyectos prácticos.




miércoles, 5 de marzo de 2025

👉 Ejercicios Prácticos con Bases de Datos SQLite en Python

Ya aprendimos a crear, insertar y consultar datos en bases de datos SQLite en Python. Ahora es momento de poner en práctica lo aprendido con ejercicios explicados paso a paso.

Hoy resolveremos ejercicios sobre:
✔️ Conectar y crear una base de datos SQLite
✔️ Insertar múltiples registros en una tabla
✔️ Consultar, actualizar y eliminar datos
✔️ Ejemplo práctico con una base de datos de productos

📌 Cada ejercicio incluye el código, explicación y prueba de salida.


1️⃣ Ejercicio: Crear una Base de Datos SQLite y una Tabla

📍 Objetivo: Crear una base de datos llamada tienda.db y una tabla productos.

🔹 Código:

import sqlite3 conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS productos ( id INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT, precio REAL, stock INTEGER ) """) conexion.commit() conexion.close() print("Base de datos y tabla creadas exitosamente.")

Este código crea una base de datos SQLite con una tabla productos.

📌 Salida esperada:

Base de datos y tabla creadas exitosamente.

2️⃣ Ejercicio: Insertar Productos en la Base de Datos

📍 Objetivo: Insertar varios productos en la tabla productos.

🔹 Código:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() productos = [ ("Laptop", 1200.50, 10), ("Mouse", 25.99, 50), ("Teclado", 45.75, 30), ("Monitor", 300.00, 15) ] cursor.executemany("INSERT INTO productos (nombre, precio, stock) VALUES (?, ?, ?)", productos) conexion.commit() conexion.close() print("Productos agregados correctamente.")

📌 Salida esperada:

Productos agregados correctamente.

Este código inserta múltiples registros en la tabla de productos.


3️⃣ Ejercicio: Consultar los Productos Disponibles

📍 Objetivo: Obtener todos los productos almacenados en la base de datos.

🔹 Código:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute("SELECT * FROM productos") productos = cursor.fetchall() for producto in productos: print(producto) conexion.close()

📌 Salida esperada:

(1, 'Laptop', 1200.5, 10) (2, 'Mouse', 25.99, 50) (3, 'Teclado', 45.75, 30) (4, 'Monitor', 300.0, 15)

Ideal para visualizar los datos almacenados en SQLite.


4️⃣ Ejercicio: Actualizar el Stock de un Producto

📍 Objetivo: Modificar la cantidad de stock de un producto en la base de datos.

🔹 Código:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute("UPDATE productos SET stock = ? WHERE nombre = ?", (20, "Laptop")) conexion.commit() conexion.close() print("Stock actualizado correctamente.")

📌 Salida esperada:

Stock actualizado correctamente.

Permite actualizar datos en la base de datos.


5️⃣ Ejercicio: Eliminar un Producto de la Base de Datos

📍 Objetivo: Borrar un producto de la base de datos SQLite.

🔹 Código:

conexion = sqlite3.connect("tienda.db") cursor = conexion.cursor() cursor.execute("DELETE FROM productos WHERE nombre = ?", ("Mouse",)) conexion.commit() conexion.close() print("Producto eliminado correctamente.")

📌 Salida esperada:

Producto eliminado correctamente.

Útil para eliminar registros innecesarios.


🚀 Conclusión

✅ Hoy hemos resuelto ejercicios con bases de datos SQLite en Python.
✅ Estos ejercicios permiten gestionar información almacenada en una base de datos.
✅ Practica modificando el código para entenderlo mejor.

📌 Próximo post: Cómo conectar SQLite con una aplicación web en Python.

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

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

💬 ¿Qué tipo de datos te gustaría gestionar en SQLite? Coméntamelo.



lunes, 3 de marzo de 2025

👉 Bases de Datos en Python con SQLite: Cómo Almacenar y Consultar Datos

Cuando trabajamos con datos en Python, los archivos TXT, CSV o JSON pueden ser útiles, pero no siempre son la mejor opción. Para almacenar información de forma estructurada y eficiente, utilizamos bases de datos.

Hoy aprenderás:
✔️ ¿Qué es SQLite y por qué usarlo en Python?
✔️ Crear y conectar una base de datos SQLite
✔️ Crear, insertar y consultar datos en una tabla
✔️ Actualizar y eliminar registros
✔️ Ejemplo práctico paso a paso

📌 Al final del post, podrás manejar bases de datos en Python como un profesional.


1️⃣ ¿Qué es SQLite y por qué usarlo en Python?

SQLite es un gestor de bases de datos ligero, integrado en Python, que permite almacenar datos en un archivo .db sin necesidad de un servidor.

📌 Ventajas de SQLite:
✅ No necesita configuración extra, ya viene con Python.
✅ Almacena datos en un solo archivo .db.
✅ Soporta SQL para manejar datos de forma eficiente.
✅ Es ideal para pequeñas aplicaciones y pruebas.

Para usar SQLite en Python, solo necesitamos importar sqlite3.


2️⃣ Crear y Conectar una Base de Datos SQLite

El primer paso es crear o conectar una base de datos SQLite.

📌 Código para conectar o crear una base de datos:

import sqlite3 conexion = sqlite3.connect("mi_base_de_datos.db") # Crea o abre el archivo de la BD cursor = conexion.cursor() # Permite ejecutar comandos SQL print("Base de datos conectada correctamente.") conexion.close() # Cierra la conexión

📌 Explicación:
sqlite3.connect("mi_base_de_datos.db") → Crea un archivo de base de datos si no existe.
cursor = conexion.cursor() → Permite ejecutar consultas SQL.
conexion.close() → Cierra la conexión cuando terminamos.


3️⃣ Crear una Tabla en SQLite

Para guardar datos en la base de datos, necesitamos crear una tabla.

📌 Ejemplo: Crear una tabla usuarios en la base de datos:

import sqlite3 conexion = sqlite3.connect("mi_base_de_datos.db") cursor = conexion.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS usuarios ( id INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT, edad INTEGER, email TEXT ) """) conexion.commit() # Guarda los cambios conexion.close() print("Tabla creada exitosamente.")

📌 Explicación:
CREATE TABLE IF NOT EXISTS usuarios → Crea la tabla si no existe.
id INTEGER PRIMARY KEY AUTOINCREMENT → Identificador único que se incrementa automáticamente.
nombre TEXT → Almacena texto.
edad INTEGER → Almacena números enteros.
email TEXT → Almacena correos electrónicos.
commit() → Guarda los cambios en la base de datos.


4️⃣ Insertar Datos en una Base de Datos SQLite

Ahora que tenemos la tabla, podemos insertar registros.

📌 Ejemplo: Insertar un usuario en la base de datos:

conexion = sqlite3.connect("mi_base_de_datos.db") cursor = conexion.cursor() cursor.execute("INSERT INTO usuarios (nombre, edad, email) VALUES (?, ?, ?)", ("José", 25, "jose@example.com")) conexion.commit() conexion.close() print("Usuario agregado exitosamente.")

📌 Explicación:
INSERT INTO usuarios (...) VALUES (?, ?, ?) → Inserta datos en la tabla.
✅ Los signos ? evitan ataques SQL Injection.
conexion.commit() → Guarda los cambios.

📌 Para insertar múltiples registros:

datos = [ ("Ana", 30, "ana@example.com"), ("Carlos", 28, "carlos@example.com"), ("Laura", 22, "laura@example.com") ] cursor.executemany("INSERT INTO usuarios (nombre, edad, email) VALUES (?, ?, ?)", datos) conexion.commit() print("Usuarios agregados.")

Ideal para insertar muchos datos al mismo tiempo.


5️⃣ Consultar Datos en SQLite

📌 Ejemplo: Leer y mostrar todos los usuarios de la base de datos:

conexion = sqlite3.connect("mi_base_de_datos.db") cursor = conexion.cursor() cursor.execute("SELECT * FROM usuarios") usuarios = cursor.fetchall() for usuario in usuarios: print(usuario) conexion.close()

📌 Salida esperada:

(1, 'José', 25, 'jose@example.com') (2, 'Ana', 30, 'ana@example.com') (3, 'Carlos', 28, 'carlos@example.com')

fetchall() recupera todos los registros.
✅ El resultado es una lista de tuplas con los datos.

📌 Para buscar un usuario específico:

cursor.execute("SELECT * FROM usuarios WHERE nombre = ?", ("Carlos",)) usuario = cursor.fetchone() print(usuario)

fetchone() devuelve un solo resultado.


6️⃣ Actualizar y Eliminar Datos en SQLite

📌 Ejemplo: Actualizar la edad de un usuario:

cursor.execute("UPDATE usuarios SET edad = ? WHERE nombre = ?", (26, "José")) conexion.commit() print("Edad actualizada.")

📌 Ejemplo: Eliminar un usuario:

cursor.execute("DELETE FROM usuarios WHERE nombre = ?", ("Ana",)) conexion.commit() print("Usuario eliminado.")

Siempre usa commit() después de UPDATE o DELETE.


🚀 Conclusión

SQLite permite almacenar datos de forma estructurada en Python.
Podemos crear, insertar, actualizar y eliminar registros usando SQL.
Ideal para proyectos pequeños y medianos sin necesidad de un servidor externo.

📌 Próximo post: Ejercicios prácticos con bases de datos SQLite en Python.

📂 Código disponible en mi GitHub: github.com/josecodetech

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

💬 ¿Ya has trabajado con bases de datos en Python? ¿Cuál ha sido tu experiencia? Coméntamelo.



domingo, 2 de marzo de 2025

👉 Ejercicios Prácticos de Python: Manejo de Archivos y Datos

Después de aprender cómo leer, escribir y modificar archivos en Python, es hora de practicar con ejercicios reales y útiles.

Hoy resolveremos ejercicios sobre:
✔️ Leer y escribir archivos de texto (.txt)
✔️ Leer y escribir archivos CSV
✔️ Trabajar con JSON para almacenar datos estructurados
✔️ Ejemplo práctico explicado paso a paso

📌 Cada ejercicio incluye código, explicación y prueba de salida.


1️⃣ Ejercicio: Contar las Palabras en un Archivo de Texto

📍 Objetivo: Leer un archivo de texto y contar cuántas palabras tiene.

🔹 Código:

def contar_palabras(nombre_archivo): try: with open(nombre_archivo, "r") as archivo: contenido = archivo.read() palabras = contenido.split() print(f"El archivo tiene {len(palabras)} palabras.") except FileNotFoundError: print("❌ Error: El archivo no existe.") # Prueba la función contar_palabras("archivo.txt")

📌 Salida esperada (si el archivo tiene texto):

El archivo tiene 56 palabras.

Se usa split() para dividir el texto en palabras.
try-except evita que el programa se bloquee si el archivo no existe.


2️⃣ Ejercicio: Guardar una Lista en un Archivo CSV

📍 Objetivo: Escribir una lista de datos en un archivo CSV y luego leerlo.

🔹 Código:

import csv datos = [ ["Nombre", "Edad", "Ciudad"], ["José", 25, "Madrid"], ["Ana", 30, "Barcelona"], ["Carlos", 22, "Sevilla"] ] # Guardar datos en CSV with open("datos.csv", "w", newline="") as archivo: escritor = csv.writer(archivo) escritor.writerows(datos) # Leer el archivo CSV with open("datos.csv", "r") as archivo: lector = csv.reader(archivo) for fila in lector: print(fila)

📌 Salida esperada:

['Nombre', 'Edad', 'Ciudad'] ['José', '25', 'Madrid'] ['Ana', '30', 'Barcelona'] ['Carlos', '22', 'Sevilla']

Ideal para trabajar con datos tabulares en Python.


3️⃣ Ejercicio: Guardar y Leer Datos en un Archivo JSON

📍 Objetivo: Guardar información de usuarios en un archivo JSON y luego leerla.

🔹 Código:

import json usuarios = [ {"nombre": "José", "edad": 25, "ciudad": "Madrid"}, {"nombre": "Ana", "edad": 30, "ciudad": "Barcelona"}, {"nombre": "Carlos", "edad": 22, "ciudad": "Sevilla"} ] # Guardar en JSON with open("usuarios.json", "w") as archivo: json.dump(usuarios, archivo, indent=4) # Leer el JSON with open("usuarios.json", "r") as archivo: datos = json.load(archivo) print(datos)

📌 Salida esperada:

[ {"nombre": "José", "edad": 25, "ciudad": "Madrid"}, {"nombre": "Ana", "edad": 30, "ciudad": "Barcelona"}, {"nombre": "Carlos", "edad": 22, "ciudad": "Sevilla"} ]

JSON es ideal para trabajar con datos estructurados en Python.


4️⃣ Ejercicio: Buscar una Palabra en un Archivo

📍 Objetivo: Leer un archivo de texto y contar cuántas veces aparece una palabra específica.

🔹 Código:

def contar_ocurrencias(nombre_archivo, palabra): try: with open(nombre_archivo, "r") as archivo: contenido = archivo.read() cantidad = contenido.lower().count(palabra.lower()) print(f"La palabra '{palabra}' aparece {cantidad} veces en el archivo.") except FileNotFoundError: print("❌ Error: El archivo no existe.") # Prueba la función contar_ocurrencias("archivo.txt", "Python")

📌 Salida esperada:

La palabra 'Python' aparece 3 veces en el archivo.

count() cuenta la cantidad de veces que aparece una palabra en el texto.


5️⃣ Ejercicio: Registrar y Leer Notas de Estudiantes

📍 Objetivo: Escribir y leer registros de estudiantes en un archivo de texto.

🔹 Código:

def guardar_estudiante(nombre, nota): with open("estudiantes.txt", "a") as archivo: archivo.write(f"{nombre}, {nota}\n") def leer_estudiantes(): try: with open("estudiantes.txt", "r") as archivo: for linea in archivo: print(linea.strip()) except FileNotFoundError: print("❌ Error: El archivo no existe.") # Agregar estudiantes guardar_estudiante("Carlos", 8.5) guardar_estudiante("Ana", 9.0) # Leer los datos leer_estudiantes()

📌 Salida esperada:

Carlos, 8.5 Ana, 9.0

Ejemplo útil para registrar datos y consultarlos después.


🚀 Conclusión

✅ Hoy hemos resuelto ejercicios con manejo de archivos en Python.
✅ Estos ejercicios ayudan a leer, escribir y manipular datos de forma eficiente.
✅ Practica modificando el código para entenderlo mejor.

📌 Próximo post: Más ejercicios avanzados con bases de datos en Python (SQLite).

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

🎥 Aprende con mis videos en YouTube: [Tu canal aquí]

💬 ¿Qué tipo de archivos sueles manejar en Python? Cuéntamelo en los comentarios.



sábado, 1 de marzo de 2025

👉 Manejo de Archivos en Python: Leer, Escribir y Modificar Información

El manejo de archivos en Python es fundamental para guardar y recuperar información de manera persistente. En este post, aprenderemos a:

✔️ Abrir y leer archivos en Python
✔️ Escribir y modificar archivos de texto
✔️ Diferencias entre modos de apertura (r, w, a)
✔️ Trabajar con archivos CSV y JSON
✔️ Ejemplo práctico explicado paso a paso

📌 Con estas técnicas, podrás almacenar y manipular datos de manera eficiente en Python.


1️⃣ Abrir y Leer un Archivo en Python

Para leer un archivo en Python, usamos la función open().

📌 Ejemplo: Leer todo el contenido de un archivo

with open("archivo.txt", "r") as archivo: contenido = archivo.read() print(contenido)

📌 Explicación:
"archivo.txt" → Nombre del archivo que queremos leer.
"r" → Indica que abrimos el archivo en modo lectura.
with open(...) as archivo: → Asegura que el archivo se cierre automáticamente después de su uso.

📌 Ejemplo de salida (si el archivo contiene texto):

Hola, este es un archivo de prueba.

📍 Leer un Archivo Línea por Línea

Si queremos leer un archivo línea por línea, usamos .readlines().

with open("archivo.txt", "r") as archivo: for linea in archivo.readlines(): print(linea.strip()) # strip() elimina espacios en blanco y saltos de línea

📌 Salida esperada:

Línea 1 del archivo Línea 2 del archivo Línea 3 del archivo

Ideal para procesar archivos grandes línea por línea.


2️⃣ Escribir en un Archivo en Python

Para escribir en un archivo, usamos el modo "w" o "a".

📌 Diferencias entre modos de apertura:
✔️ "w" (write) → Sobrescribe el contenido del archivo.
✔️ "a" (append) → Agrega contenido sin borrar lo anterior.

📌 Ejemplo: Escribir en un archivo (sobreescribe el contenido anterior)

with open("archivo.txt", "w") as archivo: archivo.write("Este es un nuevo contenido.\n") archivo.write("Se sobrescribió el archivo.\n")

📌 Ejemplo: Agregar texto a un archivo sin borrar lo anterior

with open("archivo.txt", "a") as archivo: archivo.write("Esta es una línea nueva.\n")

📌 Explicación:
Modo "w" sobrescribe el contenido existente.
Modo "a" agrega nuevas líneas al archivo sin eliminar lo anterior.


3️⃣ Leer y Escribir Archivos CSV en Python

Los archivos CSV (Comma-Separated Values) son muy usados para almacenar datos estructurados.

📌 Ejemplo: Escribir un archivo CSV

import csv with open("datos.csv", "w", newline="") as archivo: escritor = csv.writer(archivo) escritor.writerow(["Nombre", "Edad", "Ciudad"]) escritor.writerow(["José", 25, "Madrid"]) escritor.writerow(["María", 30, "Barcelona"])

📌 Ejemplo: Leer un archivo CSV

import csv with open("datos.csv", "r") as archivo: lector = csv.reader(archivo) for fila in lector: print(fila)

📌 Salida esperada:

['Nombre', 'Edad', 'Ciudad'] ['José', '25', 'Madrid'] ['María', '30', 'Barcelona']

Ideal para trabajar con datos estructurados en Python.


4️⃣ Trabajar con Archivos JSON en Python

Los archivos JSON (JavaScript Object Notation) permiten almacenar y compartir datos en formato estructurado.

📌 Ejemplo: Escribir un archivo JSON

import json datos = { "nombre": "José", "edad": 25, "ciudad": "Madrid" } with open("datos.json", "w") as archivo: json.dump(datos, archivo, indent=4)

📌 Ejemplo: Leer un archivo JSON

import json with open("datos.json", "r") as archivo: datos = json.load(archivo) print(datos)

📌 Salida esperada:

{'nombre': 'José', 'edad': 25, 'ciudad': 'Madrid'}

JSON es ampliamente utilizado en APIs y bases de datos.


5️⃣ Ejemplo Completo: Registrar y Leer Notas de Estudiantes

📌 Guardar información de estudiantes en un archivo de texto:

def guardar_estudiante(nombre, nota): with open("estudiantes.txt", "a") as archivo: archivo.write(f"{nombre}, {nota}\n") def leer_estudiantes(): with open("estudiantes.txt", "r") as archivo: for linea in archivo: print(linea.strip()) # Agregar estudiantes guardar_estudiante("Carlos", 8.5) guardar_estudiante("Ana", 9.0) # Leer los datos leer_estudiantes()

📌 Salida esperada:

Carlos, 8.5 Ana, 9.0

Ejemplo útil para registrar datos y consultarlos después.


🚀 Conclusión

open() permite leer y escribir archivos de texto.
CSV y JSON son formatos clave para almacenar datos estructurados.
Modo "r", "w" y "a" determinan cómo se manipula un archivo.
Manejar archivos es clave para cualquier aplicación real en Python.

📌 Próximo post: Ejercicios prácticos sobre manejo de archivos en Python.

📂 Código disponible en mi GitHub: github.com/josecodetech

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

💬 ¿Has trabajado con archivos en Python? ¿Qué datos sueles almacenar? Cuéntamelo en los comentarios.



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.