View difference between Paste ID: vBJSTubQ and T3MwW1dd
SHOW: | | - or go back to the newest paste.
1
class Task:
2
    def __init__(self, name, deadline):
3
        self.name = name
4
        self.completed = False
5
        self.deadline = deadline
6
7
    def edit_name(self, new_name):
8
        self.name = new_name
9
10
class TaskManager:
11
    def __init__(self):
12
        self.tasks = []
13
14
    def add_task(self, name, deadline):
15
        task = Task(name, deadline)
16
        self.tasks.append(task)
17
        self.display_tasks()
18
19
    def remove_task(self, index):
20
        if 0 <= index < len(self.tasks):
21
            del self.tasks[index]
22
        self.display_tasks()
23
24
    def complete_task(self, index):
25
        if 0 <= index < len(self.tasks):
26
            self.tasks[index].completed = True
27
        self.display_tasks()
28
29
    def display_tasks(self, print_complete = False):
30
        if len(self.tasks) == 0:
31
            print("\nBrak zadań.")
32
        else:
33
            print("\nLista zadań:")
34
            for index, task in enumerate(self.tasks):
35
                status = "Zakończone" if task.completed else "Niezakończone"
36
                if print_complete and task.completed:
37
                    print(f"{index}. {task.name} - {status} ({task.deadline})")
38
                elif not print_complete and not task.completed:
39
                    print(f"{index}. {task.name} - {status} ({task.deadline})")
40
41
    def edit_task(self, index, new_name):
42
           if 0 <= index < len(self.tasks):
43
               self.tasks[index].edit_name(new_name)
44
               print("Nazwa zadania została zmieniona.")
45
46
task_manager = TaskManager()
47
48
while True:
49
    print("\n=============================\n")
50
51
    print("1. Dodaj nowe zadanie")
52
    print("2. Usuń zadanie")
53
    print("3. Oznacz zadanie jako zakończone")
54
    print("4. Wyświetl wszystkie zadania")
55
    print("5. Edytuj zadanie")
56
    print("6. Wyjdź z programu")
57
58
    print("\n=============================\n")
59
60
    choice = input("Wybierz opcję: ")
61
62
    if choice == "1":
63
        name = input("Podaj nazwę zadania: ")
64
        deadline = input("Podaj termin zadania: ")
65
        task_manager.add_task(name, deadline)
66
        print("Zadanie dodane.")
67
68
    elif choice == "2":
69
        index = int(input("Podaj indeks zadania do usunięcia: "))
70
        if index < 0 or index >= len(task_manager.tasks):
71
            print("Niepoprawne dane.")
72
            continue
73
        else:
74
            task_manager.remove_task(index)
75
            print("Zadanie usunięte.")
76
77
    elif choice == "3":
78
        index = int(input("Podaj indeks zadania do oznaczenia jako zakończone: "))
79
        if index < 0 or index >= len(task_manager.tasks):
80
            print("Niepoprawne dane.")
81
            continue
82
        else:
83
            task_manager.complete_task(index)
84
            print("Zadanie oznaczone jako zakończone.")
85
86
    elif choice == "4":
87
        print_complete = input("Drukować zadania zakończone (1) czy niezakończone (0)? ")
88
        if print_complete == "1":
89
            task_manager.display_tasks(True)
90
        else:
91
            task_manager.display_tasks(False)
92
93
    elif choice == "5":
94
        index = int(input("Podaj indeks zadania do edycji: "))
95
        if index < 0 or index >= len(task_manager.tasks):
96
            print("Niepoprawne dane.")
97
            continue
98
        else:
99
            new_name = input("Podaj nową nazwę zadania: ")
100
            task_manager.edit_task(index, new_name)
101
102
    elif choice == "6":
103
        break
104
105
106
107
    else:
108
        print("Nieznana opcja.")