Skip to content

Commit 677f59e

Browse files
Add files via upload
1 parent d906bfc commit 677f59e

File tree

4 files changed

+113
-0
lines changed

4 files changed

+113
-0
lines changed

proyecto final/BD_TAREAS.py

Whitespace-only changes.

proyecto final/main.py

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
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+

proyecto final/tareas.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Estudiar Mate | False
2+
Poner a cocer el pollo | False

proyecto final/to-do_list.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#Un programa que simule una pequena aplicacion de gestion de tareas To-Do List, manejor d earchivos, modulos y
2+
#va ser un rpoyecto realista, funcional y escalable
3+
4+
#Un programa que simule una pequena app de gestion de tareas como un To-Do con las siguientes funcionalidades:
5+
#Agregar tareas
6+
#Eliminar Tareas
7+
#MArcar como completadas
8+
#Guardar y leer desde un archivo
9+
#Usar funciones, diccionarios, archivos y manejo de errores
10+
11+
from main import *
12+
13+
menu()

0 commit comments

Comments
 (0)