-
Notifications
You must be signed in to change notification settings - Fork 1
/
todolist.py
66 lines (55 loc) · 2.18 KB
/
todolist.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class TodoList:
def __init__(self):
self.tasks = []
def display_tasks(self):
if not self.tasks:
print("Your to-do list is empty.")
else:
print("Your to-do list:")
for i, task in enumerate(self.tasks, start=1):
print(f"{i}. {task[0]} - {'Completed' if task[1] else 'Not Completed'}")
def add_task(self, task_name):
self.tasks.append([task_name, False])
print(f"Task '{task_name}' added to your to-do list.")
def mark_task_completed(self, task_number):
if 1 <= task_number <= len(self.tasks):
self.tasks[task_number - 1][1] = True
print(f"Task {task_number} marked as completed.")
else:
print("Invalid task number.")
def remove_task(self, task_number):
if 1 <= task_number <= len(self.tasks):
del self.tasks[task_number - 1]
print(f"Task {task_number} removed from your to-do list.")
else:
print("Invalid task number.")
def main():
todo_list = TodoList()
while True:
print("\nTo-Do List Application")
print("1. Display To-Do List")
print("2. Add a Task")
print("3. Mark a Task as Completed")
print("4. Remove a Task")
print("5. Quit")
choice = input("Enter your choice (1-5): ")
if choice == '1':
todo_list.display_tasks()
elif choice == '2':
task_name = input("Enter the task name: ")
todo_list.add_task(task_name)
elif choice == '3':
todo_list.display_tasks()
task_number = int(input("Enter the task number to mark as completed: "))
todo_list.mark_task_completed(task_number)
elif choice == '4':
todo_list.display_tasks()
task_number = int(input("Enter the task number to remove: "))
todo_list.remove_task(task_number)
elif choice == '5':
print("Exiting the application.")
break
else:
print("Invalid choice. Please enter a number between 1 and 5.")
if __name__ == "__main__":
main()