Začněte nyníZačněte zdarma

Implementace fronty pro tiskové úlohy

V poslední lekci jsi se dozvěděl/a, že fronty mají mnoho využití – například správu úloh pro tiskárnu.

V tomto cvičení implementuješ třídu PrinterTasks(), která bude představovat zjednodušenou frontu pro tiskárnu. K tomu ti poslouží třída Queue() s následujícími metodami:

  • enqueue(data): přidá prvek do fronty
  • dequeue(): odebere prvek z fronty
  • has_elements(): zkontroluje, zda fronta obsahuje prvky. Zde je kód:
    def has_elements(self):
      return self.head != None

Začneš psát třídu PrinterTasks() s metodami add_document() a print_documents(). Pak nasimulujete spuštění programu, který třídu PrinterTasks() využívá.

Toto cvičení je součástí kurzu

Datové struktury a algoritmy v Pythonu

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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.____.____())
Upravit a spustit kód