1 usuario conectado

Listar tareas sencillas en Python

Comparte esto

 
Escribe un código en Python que implemente una lista de tareas sencilla donde el usuario pueda añadir, ver y marcar tareas como completadas.


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Listar tareas sencillas

📋 Copiar código


def lista_de_tareas():
    """
    Implementa una lista de tareas sencilla donde el usuario puede añadir, ver y marcar tareas como completadas.
    """
    tareas = []

    def agregar_tarea(tarea):
        tareas.append({"tarea": tarea, "completada": False})
        print(f"Tarea '{tarea}' añadida.")

    def ver_tareas():
        if not tareas:
            print("No hay tareas en la lista.")
            return
        print("\n--- Lista de Tareas ---")
        for indice, tarea in enumerate(tareas):
            estado = "[X]" if tarea["completada"] else "[ ]"
            print(f"{indice + 1}. {estado} {tarea['tarea']}")
        print("-----------------------")

    def marcar_completada(indice):
        if 1 <= indice <= len(tareas):
            tareas[indice - 1]["completada"] = True
            print(f"Tarea {indice} marcada como completada.")
        else:
            print("Índice de tarea inválido.")

    while True:
        print("\nOpciones:")
        print("1. Añadir tarea")
        print("2. Ver tareas")
        print("3. Marcar tarea como completada")
        print("4. Salir")

        opcion = input("Elige una opción: ")

        if opcion == "1":
            tarea = input("Introduce la nueva tarea: ")
            agregar_tarea(tarea)
        elif opcion == "2":
            ver_tareas()
        elif opcion == "3":
            ver_tareas()
            try:
                indice = int(input("Introduce el número de la tarea para marcar como completada: "))
                marcar_completada(indice)
            except ValueError:
                print("Entrada inválida. Por favor, introduce un número.")
        elif opcion == "4":
            print("¡Hasta luego!")
            break
        else:
            print("Opción inválida. Por favor, elige una opción válida.")

# Iniciar la lista de tareas
lista_de_tareas()


Explicación del Código:

  1. def lista_de_tareas()::

    • Define una función llamada lista_de_tareas que contiene toda la lógica de la aplicación de la lista de tareas.
  2. tareas = []:

    • Se inicializa una lista vacía llamada tareas para almacenar los diccionarios de las tareas. Cada diccionario tendrá las claves "tarea" (la descripción de la tarea) y "completada" (un booleano indicando si está completada).
  3. def agregar_tarea(tarea)::

    • Define una función interna para añadir una nueva tarea a la lista. Crea un diccionario con la tarea y el estado "no completada" y lo añade a la lista tareas.
  4. def ver_tareas()::

    • Define una función interna para mostrar todas las tareas en la lista, indicando su índice y si están completadas o no.
  5. def marcar_completada(indice)::

    • Define una función interna para marcar una tarea como completada, basándose en su índice en la lista.
  6. while True::

    • Se inicia un bucle while que mantiene la aplicación en funcionamiento hasta que el usuario elige salir.
  7. Se muestran las opciones disponibles para el usuario.

  8. Se pide al usuario que elija una opción mediante la entrada por teclado.

  9. Se realizan acciones basadas en la opción elegida:

    • Opción "1" (Añadir tarea): Se pide la descripción de la nueva tarea y se llama a la función agregar_tarea.
    • Opción "2" (Ver tareas): Se llama a la función ver_tareas para mostrar la lista actual.
    • Opción "3" (Marcar tarea como completada): Se muestra la lista de tareas, se pide el número de la tarea a completar y se llama a marcar_completada (con manejo de errores si la entrada no es un número).
    • Opción "4" (Salir): Se imprime un mensaje de despedida y se sale del bucle while con break, terminando la aplicación.
    • Opción inválida: Se muestra un mensaje de error si la entrada del usuario no coincide con ninguna de las opciones.

     

  10. lista_de_tareas():

    • Se llama a la función principal para iniciar la aplicación de la lista de tareas cuando se ejecuta el script.