ada1711

Python 17 - 05.06 - basic

Jun 5th, 2023
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.89 KB | None | 0 0
  1. class Task:
  2.     def __init__(self, name):
  3.         self.name = name
  4.         self.completed = False
  5.  
  6.         def edit_name(self, new_name):
  7.             self.name = new_name
  8.  
  9. class TaskManager:
  10.     def __init__(self):
  11.         self.tasks = []
  12.  
  13.     def add_task(self, name):
  14.         task = Task(name)
  15.         self.tasks.append(task)
  16.         self.display_tasks()
  17.  
  18.     def remove_task(self, index):
  19.         if 0 <= index < len(self.tasks):
  20.             del self.tasks[index]
  21.         self.display_tasks()
  22.  
  23.     def complete_task(self, index):
  24.         if 0 <= index < len(self.tasks):
  25.             self.tasks[index].completed = True
  26.         self.display_tasks()
  27.  
  28.     def display_tasks(self):
  29.         if len(self.tasks) == 0:
  30.             print("\nBrak zadań.")
  31.         else:
  32.             print("\nLista zadań:")
  33.             for index, task in enumerate(self.tasks):
  34.                 status = "Zakończone" if task.completed else "Niezakończone"
  35.                 print(f"{index}. {task.name} - {status}")
  36.  
  37.     def edit_task(self, index, new_name):
  38.            if 0 <= index < len(self.tasks):
  39.                self.tasks[index].edit_name(new_name)
  40.                print("Nazwa zadania została zmieniona.")
  41.  
  42. task_manager = TaskManager()
  43.  
  44. while True:
  45.     print("\n=============================\n")
  46.  
  47.     print("1. Dodaj nowe zadanie")
  48.     print("2. Usuń zadanie")
  49.     print("3. Oznacz zadanie jako zakończone")
  50.     print("4. Wyświetl wszystkie zadania")
  51.     print("5. Edytuj zadanie")
  52.     print("6. Wyjdź z programu")
  53.  
  54.     print("\n=============================\n")
  55.  
  56.     choice = input("Wybierz opcję: ")
  57.  
  58.     if choice == "1":
  59.         name = input("Podaj nazwę zadania: ")
  60.         task_manager.add_task(name)
  61.         print("Zadanie dodane.")
  62.  
  63.     elif choice == "2":
  64.         index = int(input("Podaj indeks zadania do usunięcia: "))
  65.         if index < 0 or index >= len(task_manager.tasks):
  66.             print("Niepoprawne dane.")
  67.             continue
  68.         else:
  69.             task_manager.remove_task(index)
  70.             print("Zadanie usunięte.")
  71.  
  72.     elif choice == "3":
  73.         index = int(input("Podaj indeks zadania do oznaczenia jako zakończone: "))
  74.         if index < 0 or index >= len(task_manager.tasks):
  75.             print("Niepoprawne dane.")
  76.             continue
  77.         else:
  78.             task_manager.complete_task(index)
  79.             print("Zadanie oznaczone jako zakończone.")
  80.  
  81.     elif choice == "4":
  82.         task_manager.display_tasks()
  83.  
  84.     elif choice == "5":
  85.         index = int(input("Podaj indeks zadania do edycji: "))
  86.         if index < 0 or index >= len(task_manager.tasks):
  87.             print("Niepoprawne dane.")
  88.             continue
  89.         else:
  90.             new_name = input("Podaj nową nazwę zadania: ")
  91.             task_manager.edit_task(index, new_name)
  92.  
  93.     elif choice == "6":
  94.         break
  95.  
  96.  
  97.  
  98.     else:
  99.         print("Nieznana opcja.")
Add Comment
Please, Sign In to add comment