Después de aprender variables, condicionales y funciones, construir es la forma más rápida de mejorar. Estos 15 proyectos Python para principiantes avanzan desde scripts de terminal hasta aplicaciones que puedes mostrar en tu portafolio.
No publiques una copia de un tutorial sin cambios. Crea una primera versión, añade una funcionalidad propia y escribe un README que explique el problema que resolviste.
15 ideas de proyectos Python por dificultad
- Calculadora de terminal
- Juego de adivinanzas
- Conversor de monedas
- Generador de contraseñas
- Juego de preguntas
- Lista de tareas con JSON
- Control de gastos con CSV
- Agenda de contactos
- Organizador de descargas
- Renombrador de archivos
- Monitor de precios
- Dashboard de datos
- API de tareas con FastAPI
- Bot de informes de hojas de cálculo
- Aplicación completa de portafolio
Proyecto inicial: lista de tareas con JSON
import json
from pathlib import Path
ARCHIVO = Path("tareas.json")
tareas = json.loads(ARCHIVO.read_text()) if ARCHIVO.exists() else []
titulo = input("Nueva tarea: ").strip()
if titulo:
tareas.append({"titulo": titulo, "hecha": False})
ARCHIVO.write_text(json.dumps(tareas, ensure_ascii=False, indent=2))
for numero, tarea in enumerate(tareas, start=1):
print(f"{numero}. {tarea['titulo']}")
Mejóralo con comandos para editar, eliminar y completar tareas. Después añade pruebas con pytest.
Proyecto inicial: organizador de archivos
from pathlib import Path
descargas = Path.home() / "Downloads"
carpetas = {".pdf": "PDFs", ".png": "Imagenes", ".jpg": "Imagenes"}
for archivo in descargas.iterdir():
destino = carpetas.get(archivo.suffix.lower())
if archivo.is_file() and destino:
print(f"Mover: {archivo.name} -> {destino}/")
Primero muestra una vista previa. Después crea carpetas y mueve archivos con confirmación del usuario.
Proyecto inicial: API de tareas con FastAPI
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
tareas = []
class Tarea(BaseModel):
titulo: str
@app.post("/tareas", status_code=201)
def crear_tarea(tarea: Tarea):
item = {"id": len(tareas) + 1, **tarea.model_dump()}
tareas.append(item)
return item
Para convertirlo en proyecto de portafolio, añade base de datos, autenticación, pruebas y despliegue.
Convierte cada idea en un proyecto de portafolio
- Escribe un README con el problema, instalación y ejemplos.
- Incluye una captura, GIF o salida de ejemplo.
- Documenta dependencias y entorno virtual.
- Explica una decisión técnica y una mejora futura.
Un buen plan de 30 días es: dos proyectos de terminal en la primera semana, persistencia de datos en la segunda, una automatización en la tercera y un repositorio pulido en GitHub en la cuarta.
Para una secuencia guiada de ejercicios y proyectos, conoce el curso de Python de Academify. También puedes ver cinco proyectos para portafolio.
Preguntas frecuentes
Puedo usar proyectos de tutorial en mi portafolio?
Sí, si explicas qué cambiaste y agregas funcionalidades propias. Una copia directa no muestra tus decisiones técnicas.
Debo publicar código incompleto?
Publica primero una versión pequeña que funcione. Documenta sus límites y las mejoras que harás después.