import json import os def load_tasks(filename): if os.path.exists(filename): with open(filename, 'r') as file: return json.load(file) return [] def save_tasks(tasks, filename): with open(filename, 'w') as file: json.dump(tasks, file) def display_tasks(tasks): if not tasks: print("Your to-do list is empty.") else: print("Your To-Do List:") for index, task in enumerate(tasks, start=1): print(f"{index}. {task}") def main(): filename = 'tasks.json' tasks = load_tasks(filename) while True: print("\nOptions:") print("1. Add task") print("2. Remove task") print("3. View tasks") print("4. Exit") choice = input("Select an option (1-4): ") if choice == '1': task = input("Enter the task: ") tasks.append(task) save_tasks(tasks, filename) print(f"Task '{task}' added.") elif choice == '2': display_tasks(tasks) try: task_index = int(input("Enter the task number to remove: ")) - 1 if 0 <= task_index < len(tasks): removed_task = tasks.pop(task_index) save_tasks(tasks, filename) print(f"Task '{removed_task}' removed.") else: print("Invalid task number.") except ValueError: print("Please enter a valid number.") elif choice == '3': display_tasks(tasks) elif choice == '4': print("Exiting the To-Do List Manager.") break else: print("Invalid option. Please try again.") if __name__ == "__main__": main()