Zacznij terazZacznij za darmo

Implementacja kolejki dla zadań drukarki

W ostatnim filmie poznałeś różne zastosowania kolejek – jednym z nich jest zarządzanie zadaniami drukarki.

W tym ćwiczeniu zaimplementujesz klasę PrinterTasks(), która będzie reprezentować uproszczoną kolejkę drukarki. Do dyspozycji masz klasę Queue() z następującymi metodami:

  • enqueue(data): dodaje element do kolejki
  • dequeue(): usuwa element z kolejki
  • has_elements(): sprawdza, czy kolejka zawiera elementy. Oto jej kod:
    def has_elements(self):
      return self.head != None

Zaczniesz od napisania klasy PrinterTasks() z metodami add_document() i print_documents(). Następnie zasympulujesz działanie programu korzystającego z klasy PrinterTasks().

To ćwiczenie jest częścią kursu

Struktury danych i algorytmy w Pythonie

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

class PrinterTasks:
  def __init__(self):
    self.queue = Queue()
      
  def add_document(self, document):
    # Add the document to the queue
    self.____.____(document)
      
  def print_documents(self):
    # Iterate over the queue while it has elements
    while self.____.____():
      # Remove the document from the queue
      print("Printing", self.____.____())
Edytuj i uruchom kod