Untitled
Anonymous
Python
11/08/2026 5:59 PM
2.1 KB
7
Indexable
Never
import json
import os
from datetime import datetime
ARCHIVO = "tareas.json"
def cargar_tareas():
if os.path.exists(ARCHIVO):
with open(ARCHIVO, "r", encoding="utf-8") as archivo:
return json.load(archivo)
return []
def guardar_tareas(tareas):
with open(ARCHIVO, "w", encoding="utf-8") as archivo:
json.dump(tareas, archivo, indent=4, ensure_ascii=False)
def agregar_tarea(tareas):
nombre = input("Nombre de la tarea: ")
tarea = {
"id": len(tareas) + 1,
"nombre": nombre,
"completada": False,
"fecha": datetime.now().strftime("%d/%m/%Y %H:%M")
}
tareas.append(tarea)
guardar_tareas(tareas)
print("¡Tarea agregada correctamente!")
def mostrar_tareas(tareas):
if not tareas:
print("No hay tareas registradas.")
return
for tarea in tareas:
estado = "Completada" if tarea["completada"] else "Pendiente"
print(f'{tarea["id"]}. {tarea["nombre"]} - {estado}')
def completar_tarea(tareas):
mostrar_tareas(tareas)
try:
identificador = int(input("ID de la tarea: "))
for tarea in tareas:
if tarea["id"] == identificador:
tarea["completada"] = True
guardar_tareas(tareas)
print("Tarea completada.")
return
print("Tarea no encontrada.")
except ValueError:
print("Introduce un número válido.")
def main():
tareas = cargar_tareas()
while True:
print("\n===== GESTOR DE TAREAS =====")
print("1. Agregar tarea")
print("2. Mostrar tareas")
print("3. Completar tarea")
print("4. Salir")
opcion = input("Selecciona una opción: ")
if opcion == "1":
agregar_tarea(tareas)
elif opcion == "2":
mostrar_tareas(tareas)
elif opcion == "3":
completar_tarea(tareas)
elif opcion == "4":
print("Hasta luego.")
break
else:
print("Opción inválida.")
if __name__ == "__main__":
main()Editor is loading...
Leave a Comment