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 kolejkidequeue(): usuwa element z kolejkihas_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
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.____.____())