Este repositorio contiene una colección completa de proyectos, ejercicios y aplicaciones desarrolladas en Python durante mi formación como estudiante de Ingeniería en Informática en la Universidad Tecnológica de Chile (UTEM).
Desde conceptos básicos hasta proyectos avanzados, aquí documento mi journey de aprendizaje en uno de los lenguajes más versátiles de la programación.
- 📚 Aprender Python desde lo básico hasta nivel avanzado
- 🔧 Desarrollar proyectos prácticos aplicando conceptos teóricos
- 📊 Explorar librerías populares del ecosistema Python
- 🤖 Implementar algoritmos y estructuras de datos
- 🌐 Crear aplicaciones web con frameworks modernos
- 📈 Analizar datos con herramientas de ciencia de datos
📦 python/
├── 📂 01_Fundamentos/
│ ├── 📄 variables_tipos_datos.py
│ ├── 📄 estructuras_control.py
│ ├── 📄 funciones_basicas.py
│ └── 📄 manejo_archivos.py
├── 📂 02_Programacion_Orientada_Objetos/
│ ├── 📄 clases_objetos.py
│ ├── 📄 herencia_polimorfismo.py
│ └── 📄 encapsulamiento.py
├── 📂 03_Estructuras_Datos/
│ ├── 📄 listas_tuplas.py
│ ├── 📄 diccionarios_sets.py
│ └── 📄 algoritmos_busqueda.py
├── 📂 04_Proyectos_Academicos/
│ ├── 📂 calculadora_cientifica/
│ ├── 📂 sistema_gestion_estudiantes/
│ └── 📂 analizador_texto/
├── 📂 05_Data_Science/
│ ├── 📂 analisis_datos_ventas/
│ ├── 📂 visualizacion_estadisticas/
│ └── 📂 machine_learning_basico/
├── 📂 06_Web_Development/
│ ├── 📂 api_rest_flask/
│ ├── 📂 webapp_django/
│ └── 📂 scraping_web/
├── 📂 07_Automatizacion/
│ ├── 📄 automatizar_tareas.py
│ ├── 📄 procesamiento_archivos.py
│ └── 📄 bot_telegram.py
├── 📂 08_Ejercicios_Algoritmos/
│ ├── 📄 ordenamiento.py
│ ├── 📄 recursividad.py
│ └── 📄 programacion_dinamica.py
└── 📄 README.md
# Calculadora con interfaz gráfica usando Tkinter
# Funciones: básicas, trigonométricas, logaritmos
# Estado: ✅ Completado
# CRUD completo con base de datos SQLite
# Características: registro, notas, reportes
# Estado: ✅ Completado
# Bot automatizado para tareas universitarias
# Funciones: recordatorios, clima, noticias
# Estado: 🔄 En desarrollo
# Análisis completo con Pandas y Matplotlib
# Visualizaciones interactivas con Plotly
# Estado: ✅ Completado
Área | Nivel | Proyectos | Tecnologías |
---|---|---|---|
Fundamentos | 🟢 Avanzado | 15+ | Python Core, Algoritmos |
POO | 🟢 Avanzado | 8+ | Clases, Herencia, Polimorfismo |
Data Science | 🟡 Intermedio | 5+ | Pandas, NumPy, Matplotlib |
Web Development | 🟡 Intermedio | 3+ | Flask, Django, API REST |
Machine Learning | 🔴 Básico | 2+ | Scikit-Learn, TensorFlow |
Automatización | 🟢 Avanzado | 10+ | Scripts, Bots, Scraping |
# Ejemplo: Análisis de datos universitarios
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
class AnalizadorEstudiantil:
def __init__(self, archivo_datos):
self.df = pd.read_csv(archivo_datos)
def estadisticas_basicas(self):
"""Genera estadísticas descriptivas de las notas"""
return self.df.describe()
def visualizar_distribucion_notas(self):
"""Crea histograma de distribución de notas"""
plt.figure(figsize=(10, 6))
sns.histplot(data=self.df, x='nota_final', bins=20, color='#8B0000')
plt.title('Distribución de Notas Finales')
plt.xlabel('Nota Final')
plt.ylabel('Frecuencia')
plt.show()
def mejores_estudiantes(self, top_n=10):
"""Obtiene los mejores N estudiantes"""
return self.df.nlargest(top_n, 'nota_final')
# Uso del analizador
analizador = AnalizadorEstudiantil('notas_estudiantes.csv')
print(analizador.estadisticas_basicas())
analizador.visualizar_distribucion_notas()
# Python 3.8 o superior
python --version
# Pip para gestión de paquetes
pip --version
# Clonar el repositorio
git clone https://github.com/carlos2512a/python.git
cd python
# Crear entorno virtual
python -m venv venv
# Activar entorno virtual
# En Windows:
venv\Scripts\activate
# En Linux/Mac:
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar proyecto específico
cd 04_Proyectos_Academicos/calculadora_cientifica/
python main.py
# Ejecutar Jupyter Notebooks
jupyter notebook
# Ejecutar tests
python -m pytest tests/
- 📖 Documentación Oficial de Python
- 📋 PEP 8 - Guía de Estilo
- 🎯 Real Python Tutorials
- 📊 Pandas Documentation
- 🤖 Scikit-Learn User Guide
- Universidad: Universidad Tecnológica de Chile (UTEM)
- Carrera: Ingeniería en Informática
- Asignaturas Relacionadas:
- Programación I y II
- Estructuras de Datos
- Algoritmos y Complejidad
- Inteligencia Artificial
- Minería de Datos
Carlos - Estudiante de Ingeniería en Informática
📧 Email: carlos2512a@gmail.com
🎓 Universidad Tecnológica de Chile (UTEM)
💼 LinkedIn: [Tu perfil de LinkedIn]
🐙 GitHub: @carlos2512a
¡Las contribuciones son bienvenidas! Si tienes ideas para mejorar algún proyecto o quieres agregar nuevos ejemplos:
- 🍴 Fork el proyecto
- 🔀 Crea tu rama (
git checkout -b feature/NuevaFeature
) - 💾 Commit tus cambios (
git commit -m 'Add: nueva funcionalidad'
) - 📤 Push a la rama (
git push origin feature/NuevaFeature
) - 🔄 Abre un Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
progreso_python = {
"fundamentos": 95,
"poo": 90,
"data_science": 75,
"web_development": 70,
"machine_learning": 60,
"automatizacion": 85
}
print("🐍 Mi journey en Python:")
for tema, nivel in progreso_python.items():
barra = "█" * (nivel // 10) + "░" * (10 - nivel // 10)
print(f"{tema.title():.<20} [{barra}] {nivel}%")