|
| 1 | +import os |
| 2 | + |
| 3 | +tareas_txt = "proyecto final/tareas.txt" |
| 4 | + |
| 5 | +def cargar_tareas(): |
| 6 | + tareas = [] |
| 7 | + if os.path.exists(tareas_txt): |
| 8 | + with open(tareas_txt,"r") as archivo: |
| 9 | + for linea in archivo: |
| 10 | + partes = linea.strip().split("|") |
| 11 | + if len(partes) == 2: |
| 12 | + tarea, estado = partes |
| 13 | + tareas.append({"tarea":tarea.strip(),"completada":estado.strip() == True}) |
| 14 | + return tareas |
| 15 | + |
| 16 | +def guardar_tareas(tareas): |
| 17 | + with open(tareas_txt,"w") as archivo: |
| 18 | + for t in tareas: |
| 19 | + archivo.write(f"{t['tarea']} | {t['completada']}\n") |
| 20 | + |
| 21 | +def mostrar_tareas(tareas): |
| 22 | + if not tareas: |
| 23 | + print("📭 No hay tareas") |
| 24 | + else: |
| 25 | + print("\n 🎯Lista de tareas:") |
| 26 | + for i, t in enumerate(tareas): |
| 27 | + estado = "✅" if t["completada"] else "⌛" |
| 28 | + print(f"{i + 1}.{t['tarea']}{estado}") |
| 29 | + print() |
| 30 | + |
| 31 | +def agregar_tarea (tareas): |
| 32 | + nueva = input("Escribe la nueva tarea: ").strip() |
| 33 | + |
| 34 | + if nueva: |
| 35 | + tareas.append({"tarea": nueva, "completada": False}) |
| 36 | + print("Tarea Agregada") |
| 37 | + else: |
| 38 | + print("🤬 La tarea no puede estar vacia. \n") |
| 39 | + |
| 40 | + |
| 41 | +def completar_tarea(tareas): |
| 42 | + try: |
| 43 | + num = int(input(" Que numero de tarea quieres marcar como completada?: ")) |
| 44 | + if 1 <= num <= len(tareas): |
| 45 | + tareas[num-1]["completada"] = True |
| 46 | + print("La tarea ha sido completada 🔥\n") |
| 47 | + else: |
| 48 | + print("Numero fuera de rango 🤬 \n") |
| 49 | + except ValueError: |
| 50 | + print("Entrada invalida. Ingrese un numero \n") |
| 51 | + |
| 52 | +def eliminar_tareas(tareas): |
| 53 | + try: |
| 54 | + num = int(input("🗑️ Que numero de tarea quieres eliminar?: ")) |
| 55 | + if 1 <= num <= len(tareas): |
| 56 | + tarea_eliminada = tareas.pop(num-1) |
| 57 | + print("La tarea ha sido eliminada 🗑️\n") |
| 58 | + else: |
| 59 | + print("Numero fuera de rango 🤬 \n") |
| 60 | + except ValueError: |
| 61 | + print("Entrada invalida. Ingrese un numero \n") |
| 62 | + |
| 63 | +#Menu principal |
| 64 | + |
| 65 | +def menu(): |
| 66 | + tareas = cargar_tareas() |
| 67 | + while True: |
| 68 | + print("📌 Menu de tareas") |
| 69 | + print("1. Ver tareas") |
| 70 | + print("2. Agregar Tarea") |
| 71 | + print("3. Marcar como completada") |
| 72 | + print("4. Eliminar Tarea") |
| 73 | + print("5. Guardar y salir") |
| 74 | + opcion = input("Elija una opcion: ") |
| 75 | + |
| 76 | + if opcion == "1": |
| 77 | + mostrar_tareas(tareas) |
| 78 | + elif opcion == "2": |
| 79 | + mostrar_tareas(tareas) |
| 80 | + agregar_tarea(tareas) |
| 81 | + elif opcion == "3": |
| 82 | + mostrar_tareas(tareas) |
| 83 | + completar_tarea(tareas) |
| 84 | + elif opcion == "4": |
| 85 | + mostrar_tareas(tareas) |
| 86 | + eliminar_tareas(tareas) |
| 87 | + elif opcion == "5": |
| 88 | + guardar_tareas(tareas) |
| 89 | + print("✉️ Tareas guardadasd. Hasta luego!") |
| 90 | + break |
| 91 | + else: |
| 92 | + print("Opcion invalida 🤬") |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | + |
0 commit comments