НачатьНачать бесплатно

Реализация очереди для задач принтера

В предыдущем видео вы узнали, что очереди могут применяться в самых разных задачах — например, для управления заданиями принтера.

В этом упражнении вы реализуете класс PrinterTasks(), который представляет собой упрощённую очередь для принтера. Для этого вам предоставляется класс Queue() со следующими методами:

  • enqueue(data): добавляет элемент в очередь
  • dequeue(): удаляет элемент из очереди
  • has_elements(): проверяет, есть ли элементы в очереди. Вот его код:
    def has_elements(self):
      return self.head != None

Вы начнёте с написания класса PrinterTasks() и его методов add_document() и print_documents(). После этого вы смоделируете выполнение программы, которая использует класс PrinterTasks().

Это упражнение является частью курса

Структуры данных и алгоритмы на Python

Посмотреть курс

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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.____.____())
Редактировать и запускать код