giganciprogramowania

Python 16 robocampy extended

Jun 19th, 2023
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.")
Add Comment
Please, Sign In to add comment