Preskoči na glavni sadržaj
🔒 Način pregleda. Prvih petnaest Foundations lekcija je besplatno; ova je Pro. Pokrenite 7-dnevni trial da otključate editor, AI savjete i ostatak programa. Kartica obavezna, otkažite bilo kada u Dashboard.Pokreni 7-dnevni trial →
← KolegijiSystem Design for Python JuniorsModul 1 · Osnove dizajna sustavaRedovi porukapredict9 / 105
+100 XP
Zadatak
📝 **Zadatak:** Predvidi redoslijed pražnjenja od 5 redaka iz FIFO reda s jednim prolaznim kvarom koji neuspjeli posao ponovno stavlja u red čekanja do kraja. 📋 Implementirajte gornju funkciju. Testovi se pokreću automatski. 💡 **Savjet:** Ponovno pročitajte teoriju ako zapnete.
Predvidi izlaz

Pažljivo pročitaj kod

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.

Što će program ispisati? Napiši ovdje:

💬 Rasprava

Budi prvi — postavi pitanje ili podijeli savjet.
Prijavi se kako bi se pridružio raspravi. Čitanje je besplatno.
Učitavanje rasprave…