Skip to content

guillegiuu/python-mini-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

254 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📁 Python Mini Projects

Repositorio enfocado en práctica real y progresiva de Python desde fundamentos hasta lógica aplicada.

Proyectos organizados por nivel de dificultad para reflejar mi progreso.

Python Status Learning


🧭 Navegación

🏠 Volver al perfil principal

📘 From Zero to Software Engineer


⭐ Proyectos destacados

Juego interactivo en terminal donde el jugador toma decisiones para sobrevivir su primera noche.

  • Interacción con usuario (input)
  • Lógica condicional
  • Loop de juego (while)
  • Flujo completo tipo videojuego

Sistema de recomendación en Python que sugiere destinos y actividades según los intereses del usuario.

  • Listas y listas anidadas
  • Funciones
  • Lógica condicional
  • Relación entre datos
  • Construcción de output dinámico

Easy Level

Proyectos enfocados en fundamentos de programación.

Generador de letras en formato ASCII.

  • Uso de print()
  • Strings multilínea
  • Formateo de texto

Simulación de un sistema de recibos con cálculo de impuestos.

  • Variables
  • Operaciones matemáticas
  • Concatenación de strings
  • Formato de salida

Simulación de una bola mágica que responde preguntas usando control flow.

  • Condicionales (if / elif / else)
  • Números aleatorios (random)
  • Lógica de decisiones

Organización de materias y calificaciones usando listas.

  • Listas
  • Listas bidimensionales
  • Indexación
  • Métodos (append(), remove())
  • Manipulación de datos

Análisis de precios y toppings de pizzas utilizando listas.

  • Listas
  • len()
  • count()
  • Ordenamiento (sort())
  • Indexación
  • Slicing ([:3])
  • Métodos (pop(), insert())
  • Manipulación de datos

Primer contacto con la ejecución de programas Python desde la terminal (CLI).

  • Línea de comandos (CLI)
  • Navegación entre directorios
  • Ejecución de scripts .py
  • Entorno local de desarrollo

Práctica de lectura de archivos y organización de proyectos, simulando workflows reales.

  • SnapFit Robots → lectura básica de archivos

  • Manhattan Zoo → datos estructurados en consola

  • Lectura de archivos (open, read)

  • Manejo de strings

  • Organización en carpetas

  • Separación de lógica y datos


Medium Level

Proyectos con lógica más compleja y uso de estructuras.

Cálculo de costos de envío utilizando múltiples condiciones y comparación de resultados.

  • Condicionales (if, elif, else)
  • Lógica de decisión
  • Comparación de valores
  • Operaciones matemáticas

Análisis de precios y servicios utilizando loops y listas.

  • Loops (for)
  • Listas
  • len()
  • List comprehension
  • Cálculo de promedio
  • Filtrado de datos

Aplicación de funciones en Python para resolver fórmulas básicas de física y conversiones de temperatura.

  • Funciones (def)
  • Parámetros y return
  • Operaciones matemáticas
  • Conversión de unidades
  • Organización de código

Procesamiento de datos de ventas almacenados en un string desordenado, organizándolos en estructuras más limpias como listas.

  • Manipulación de strings
  • Métodos de strings (.split(), .strip())
  • Listas
  • Loops (for)
  • Limpieza de datos
  • Procesamiento de información

Proyecto en Python que calcula el puntaje de palabras al estilo Scrabble utilizando diccionarios para mapear letras a valores.

  • Diccionarios (dict)
  • Iteración sobre diccionarios (for)
  • Acceso a claves y valores
  • Acumuladores
  • Funciones
  • Lógica de mapeo (letra → puntaje)

Serie de mini proyectos enfocados en Programación Orientada a Objetos (OOP), mostrando la evolución desde una lógica simple hasta una simulación interactiva completa.

  • Clases y objetos (class, __init__)
  • Atributos y métodos
  • Encapsulamiento de lógica
  • Manejo de estado (saldo, historial)
  • Validación de inputs
  • Simulación de sistemas interactivos
  • Uso de random para eventos aleatorios

Implementación del clásico problema de Towers of Hanoi utilizando estructuras de datos como pilas (stacks) y nodos (nodes), con interacción en consola.

  • Estructura de datos: Stack (LIFO)
  • Implementación de Nodes (linked list)
  • Validación de reglas del juego
  • Lógica de movimientos entre torres
  • Interacción con el usuario en terminal (CLI)
  • Cálculo de movimientos mínimos (2^n - 1)

Implementación de un HashMap desde cero en Python utilizando hashing, almacenamiento de pares clave-valor y manejo de colisiones.

  • Estructura de datos: HashMap (key-value)
  • Función hash para asignación de índices
  • Manejo de colisiones (collision handling)
  • Búsqueda, inserción y actualización de datos
  • Comprensión interna de diccionarios en Python

Implementación de algoritmos de ordenamiento en Python para comprender su funcionamiento interno, eficiencia y diferencias entre enfoques.

  • Algoritmos: Bubble Sort, Merge Sort y Quick Sort
  • Análisis de complejidad (Big-O)
  • Enfoque Divide and Conquer
  • Uso de recursión en sorting
  • Comparación de rendimiento entre algoritmos

Implementación de programación dinámica para resolver el problema de la subsecuencia común más larga entre dos strings.

  • Dynamic Programming (Programación Dinámica)
  • Uso de matrices (grillas 2D)
  • Subproblemas y reutilización de resultados
  • Comparación de strings carácter por carácter
  • Optimización de algoritmos

Historia interactiva estilo Choose Your Own Adventure utilizando estructuras de datos tipo árbol (Tree).

  • Trees (Estructura de Árbol)
  • Nodos y relaciones padre-hijo
  • Navegación entre decisiones
  • Modelado de caminos posibles
  • Lógica interactiva

Sistema de rutas entre estaciones utilizando grafos y algoritmos de búsqueda.

  • BFS (Breadth-First Search)
  • DFS (Depth-First Search)
  • Representación de grafos con diccionarios
  • Búsqueda de caminos
  • Lógica de rutas

🔴 Hard Level-Hard

Proyectos orientados a algoritmos y resolución de problemas más avanzados.

Script en Python que simula la detección de usuarios comprometidos leyendo un archivo CSV y generando archivos de salida.

  • Manejo de archivos (open)
  • Lectura de CSV (csv.DictReader)
  • Escritura de archivos (.txt, .json)
  • Uso de listas para almacenar datos
  • Validación de claves en diccionarios
  • Módulo os para manipulación de archivos

🧠 Objetivo

Aplicar conceptos de Python en proyectos prácticos y escalables, construyendo una base sólida para niveles más avanzados.


📌 Notas

  • Repositorio enfocado en práctica y aplicación de conceptos.
  • Los proyectos aumentan en complejidad a medida que avanzo.

⭐ Progreso constante > perfección inmediata

About

Collection of Python mini projects focused on fundamentals (Codecademy path)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages