Mostrando entradas con la etiqueta Estructuras de datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Estructuras de datos. Mostrar todas las entradas

s谩bado, 7 de junio de 2025

馃И Python Nivel 1 – Parte 10: Ejercicio Integrador – Gestor de Tareas

 馃幆 Objetivo:

Crear un programa realista que permita al usuario:

  • A帽adir tareas

  • Marcar tareas como completadas

  • Ver tareas pendientes y completadas

  • Guardar y recuperar tareas desde un archivo .json


馃摑 Enunciado del proyecto: Gestor de tareas

Escribe un programa que permita al usuario gestionar sus tareas del d铆a. Las tareas se deben guardar en un archivo llamado tareas.json para que no se pierdan al cerrar el programa.


✅ Caracter铆sticas:

  1. Men煤 principal con opciones:

    • A帽adir nueva tarea

    • Ver tareas pendientes

    • Marcar tarea como completada

    • Ver tareas completadas

    • Salir

  2. Uso de funciones para cada acci贸n

  3. Datos estructurados con listas y diccionarios

  4. Lectura y escritura en archivo .json para guardar todo


馃捇 C贸digo completo del proyecto


import json import os archivo = "tareas.json" # Cargar tareas si existe el archivo def cargar_tareas(): if os.path.exists(archivo): with open(archivo, "r", encoding="utf-8") as f: return json.load(f) else: return {"pendientes": [], "completadas": []} # Guardar tareas en archivo def guardar_tareas(tareas): with open(archivo, "w", encoding="utf-8") as f: json.dump(tareas, f, indent=4) # Mostrar tareas def mostrar_tareas(lista, titulo): print(f"\n馃搵 {titulo}:") if lista: for i, tarea in enumerate(lista, start=1): print(f"{i}. {tarea}") else: print("No hay tareas.") # Men煤 principal def menu(): tareas = cargar_tareas() while True: print("\n--- MEN脷 ---") print("1. A帽adir tarea") print("2. Ver pendientes") print("3. Marcar como completada") print("4. Ver completadas") print("5. Salir") opcion = input("Elige una opci贸n: ") if opcion == "1": nueva = input("Escribe la nueva tarea: ") tareas["pendientes"].append(nueva) guardar_tareas(tareas) elif opcion == "2": mostrar_tareas(tareas["pendientes"], "Tareas pendientes") elif opcion == "3": mostrar_tareas(tareas["pendientes"], "Tareas pendientes") if tareas["pendientes"]: try: num = int(input("N煤mero de tarea completada: ")) - 1 completada = tareas["pendientes"].pop(num) tareas["completadas"].append(completada) guardar_tareas(tareas) except (ValueError, IndexError): print("❌ Entrada inv谩lida.") elif opcion == "4": mostrar_tareas(tareas["completadas"], "Tareas completadas") elif opcion == "5": print("✅ Programa cerrado. ¡Hasta pronto!") break else: print("❌ Opci贸n no v谩lida.") # Ejecutar men煤 menu()

馃 ¿Qu茅 se repasa aqu铆?

✔️ Estructuras condicionales y bucles
✔️ Listas, diccionarios y funciones
✔️ Lectura/escritura de archivos .json
✔️ Validaci贸n de entrada del usuario
✔️ Organizaci贸n y reutilizaci贸n de c贸digo


馃殌 Pr贸ximo paso:

Con este proyecto cierras el Nivel 1 de Python y est谩s listo para pasar a conceptos intermedios como:

  • clases y objetos

  • librer铆as externas

  • proyectos web o visuales


馃搨 C贸digo disponible en GitHub:
github.com/josecodetech

Video tutorial : https://youtu.be/CSeYb1WS7QE



s谩bado, 19 de abril de 2025

馃И Python Nivel 1 – Parte 4: Listas, Tuplas, Diccionarios y Conjuntos

 En esta lecci贸n conocer谩s las estructuras de datos fundamentales en Python:

馃敻 Listas: ordenadas y mutables
馃敻 Tuplas: ordenadas e inmutables
馃敻 Diccionarios: clave-valor, mutables
馃敻 Conjuntos (sets): sin duplicados y sin orden

Estas estructuras te permiten organizar datos de forma eficiente y vers谩til.


✅ Ejercicio 13: Recorrer una lista de lenguajes


lenguajes = ["Python", "Java", "C++", "JavaScript"] for lenguaje in lenguajes: print(lenguaje)

馃 Aprendiste: c贸mo trabajar con listas y recorrer sus elementos.


✅ Ejercicio 14: Acceder a una tupla de coordenadas


coordenadas = (10, 20) print("X =", coordenadas[0]) print("Y =", coordenadas[1])

馃 Aprendiste: acceder a valores usando 铆ndices en una estructura inmutable.


✅ Ejercicio 15: Mostrar datos de un diccionario


usuario = {"nombre": "Laura", "edad": 28, "ciudad": "Madrid"} for clave, valor in usuario.items(): print(f"{clave.capitalize()}: {valor}")

馃 Aprendiste: recorrer pares clave-valor de un diccionario.


✅ Ejercicio 16: Eliminar duplicados de una lista con set


frutas = ["manzana", "pera", "manzana", "naranja"] unicas = set(frutas) for fruta in unicas: print(fruta)

馃 Aprendiste: crear conjuntos 煤nicos a partir de listas repetidas.


馃殌 ¿Qu茅 aprendiste en esta lecci贸n?

✔️ C贸mo usar y recorrer listas, tuplas, diccionarios y sets
✔️ Qu茅 operaciones b谩sicas puede realizar cada estructura
✔️ C贸mo evitar duplicados, acceder por clave o 铆ndice
✔️ A organizar datos eficientemente


馃搨 C贸digo completo en GitHub: github.com/josecodetech
馃帴 Tutorial en YouTube: https://www.youtube.com/watch?v=xuFCvogrNlM

馃挰 ¿Cu谩l estructura se adapta m谩s a tus proyectos? ¿Te gustar铆a ver ejemplos combinados?


viernes, 26 de mayo de 2023

Descubre la potencia de los diccionarios en Python

En el mundo de Python, los diccionarios son una de las estructuras de datos m谩s poderosas y vers谩tiles. Son fundamentales para el desarrollo de aplicaciones y programas, y conocer c贸mo trabajar con ellos es esencial para todo programador. En esta publicaci贸n, te guiar茅 a trav茅s de la creaci贸n, manipulaci贸n, inserci贸n y borrado de diccionarios en Python.

Creaci贸n de diccionarios en Python

Los diccionarios en Python se definen utilizando llaves {} y contienen pares de clave-valor. Cada clave se mapea a un valor espec铆fico, lo que permite una f谩cil b煤squeda y recuperaci贸n de datos. Veamos un ejemplo de creaci贸n de un diccionario:

# Crear un diccionario de frutas y sus colores

frutas = {

    "manzana": "rojo",

    "pl谩tano": "amarillo",

    "naranja": "naranja"

}

Acceso y manipulaci贸n de elementos en diccionarios

Una vez que hemos creado un diccionario, podemos acceder a sus elementos utilizando las claves correspondientes. Adem谩s, podemos realizar diversas operaciones para manipular el contenido del diccionario. Aqu铆 tienes algunos ejemplos:


# Acceder a un valor utilizando su clave

print(frutas["manzana"])  # Resultado: rojo


# Modificar el valor de una clave existente

frutas["naranja"] = "naranja brillante"


# Agregar una nueva clave y su valor al diccionario

frutas["uva"] = "morado"


# Eliminar una clave y su valor del diccionario

del frutas["pl谩tano"]

Recorriendo un diccionario

Es posible recorrer un diccionario para acceder a todas sus claves y valores. Podemos usar bucles for para lograr esto:


# Recorrer el diccionario de frutas y mostrar cada clave y valor

for fruta, color in frutas.items():

    print(fruta, "es de color", color)

Poblaci贸n total de ciudades

Veamos un ejemplo pr谩ctico donde utilizaremos diccionarios para calcular la poblaci贸n total de varias ciudades:


# Crear un diccionario de ciudades y su poblaci贸n

ciudades = {

    "Madrid": 3200000,

    "Barcelona": 1600000,

    "Valencia": 800000

}


# Calcular la poblaci贸n total

poblacion_total = sum(ciudades.values())

print("La poblaci贸n total de las ciudades es:", poblacion_total)

Con estos ejemplos, tienes una s贸lida base para comenzar a trabajar con diccionarios en Python. ¡No olvides practicar y experimentar con diferentes escenarios para fortalecer tus habilidades en programaci贸n!