Naar hoofdinhoud
🔒 Voorbeeldmodus. De eerste vijftien Foundations-lessen zijn gratis; deze is Pro. Start een 7-daagse trial om de editor, AI-hints en de rest van het curriculum te ontgrendelen. Kaart vereist, op elk moment opzegbaar in Dashboard.Start 7-daagse trial →
← CursussenSystem Design for Python JuniorsModule 1 · Basisprincipes van systeemontwerpBerichtenwachtrijenpredict9 / 105
+100 XP
Opdracht
📝 **Taak:** Voorspel de uitstroomvolgorde van 5 regels uit een FIFO-wachtrij met één tijdelijke fout die de mislukte taak opnieuw in de wachtrij plaatst tot het einde. 📋 Implementeer bovenstaande functie. Tests worden automatisch uitgevoerd. 💡 **Hint:** Herlees de theorie als je vastloopt.
Voorspel uitvoer

Lees de code zorgvuldig

from collections import deque

class JobQueue:
    def __init__(self):
        self._q = deque()
    def push(self, job):
        self._q.append(job)
    def pop(self):
        return self._q.popleft() if self._q else None

q = JobQueue()
q.push("send_email:1")           # job 1
q.push("send_email:2")           # job 2
print(q.pop())                   # drain 1 → first-in first-out

q.push("send_email:3")           # job 3
q.push("send_email:4")           # job 4
q.push("send_email:5")           # job 5

# Transient failure on the next pop — retry policy puts it BACK
# on the END of the queue (FIFO order must hold).
failed = q.pop()
q.push(failed)                   # re-enqueued to the tail

# Drain everything remaining.
while True:
    j = q.pop()
    if j is None:
        break
    print(j)

# What does this print? Type your prediction.

Wat zal het programma uitprinten? Schrijf hier:

💬 Discussie

Wees de eerste — stel een vraag of deel een tip.
Log in om mee te doen aan de discussie. Lezen is gratis.
Discussie laden…