Untitled
unknown
python
23 days ago
1.8 kB
2
Indexable
Never
class Task: def __init__(self, description, deadline=None): self.description = description self.deadline = deadline self.completed = False def mark_completed(self): self.completed = True def __str__(self): status = "Completed" if self.completed else "Not Completed" deadline = f" (Deadline: {self.deadline})" if self.deadline else "" return f"{self.description}{deadline} - {status}" class ToDoList: def __init__(self): self.tasks = [] def add_task(self, description, deadline=None): task = Task(description, deadline) self.tasks.append(task) print(f"Task added: {task}") def remove_task(self, index): if 0 <= index < len(self.tasks): removed_task = self.tasks.pop(index) print(f"Task removed: {removed_task}") else: print("Invalid task index.") def mark_task_completed(self, index): if 0 <= index < len(self.tasks): self.tasks[index].mark_completed() print(f"Task marked as completed: {self.tasks[index]}") else: print("Invalid task index.") def list_tasks(self): if self.tasks: print("To-Do List:") for idx, task in enumerate(self.tasks): print(f"{idx}. {task}") else: print("No tasks in the to-do list.") # Example Usage todo_list = ToDoList() # Add tasks todo_list.add_task("Buy groceries", "2024-09-01") todo_list.add_task("Finish Python project") # List tasks todo_list.list_tasks() # Mark the first task as completed todo_list.mark_task_completed(0) # Remove the second task todo_list.remove_task(1) # List tasks again todo_list.list_tasks()
Leave a Comment