Implementación de una cola para tareas de impresora
En el último vídeo, aprendiste que las colas pueden tener varias aplicaciones, como gestionar las tareas de una impresora.
En este ejercicio, implementarás una clase llamada PrinterTasks()
, que representará una cola simplificada para una impresora. Para ello, se te proporcionará la clase Queue()
que incluye los siguientes métodos:
enqueue(data)
: añade un elemento a la coladequeue()
: elimina un elemento de la colahas_elements()
: comprueba si la cola tiene elementos. Este es el código:
def has_elements(self):
return self.head != None
Empezarás programando la clase PrinterTasks()
con sus métodos add_document()
y print_documents()
. Después, simularás la ejecución de un programa que utilice la clase PrinterTasks()
.
Este ejercicio forma parte del curso
Estructuras de datos y algoritmos en Python
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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.____.____())