Μετάβαση στο κύριο περιεχόμενο
🔒 Λειτουργία προεπισκόπησης. Τα πρώτα δεκαπέντε μαθήματα Foundations είναι δωρεάν· αυτό είναι Pro. Ξεκινήστε ένα 7ήμερο trial για να ξεκλειδώσετε τον επεξεργαστή, τις υποδείξεις AI και το υπόλοιπο του προγράμματος. Απαιτείται κάρτα, ακυρώνετε οποιαδήποτε στιγμή από το Dashboard.Ξεκινήστε 7ήμερο trial →
← ΜαθήματαSystem Design for Python JuniorsΕνότητα 1 · Βασικές αρχές σχεδίασης συστήματοςΠεριορισμός ποσοστούpredict11 / 105
+100 XP
Εργασία
📝 **Εργασία:** Πρόβλεψη της συμβολοσειράς άδειας/άρνησης. Το απόσπασμα εκτελεί έναν κάδο διακριτικών με χωρητικότητα 5 και ρυθμό αναπλήρωσης 1/δευτερόλεπτο σε σχέση με μια ακολουθία αιτημάτων με χρονική σήμανση. 📋 Υλοποιήστε την παραπάνω λειτουργία. Οι δοκιμές εκτελούνται αυτόματα. 💡 **Υπόδειξη:** Ξαναδιάβασε τη θεωρία αν κολλήσεις.
Πρόβλεψε έξοδο

Διάβασε τον κώδικα προσεκτικά

class TokenBucket:
    def __init__(self, capacity, refill_rate):
        self.capacity = capacity
        self.refill_rate = refill_rate
        self.tokens = capacity      # start full
        self.last = 0.0             # seconds

    def consume(self, now):
        # Refill based on elapsed time, capped at capacity.
        delta = now - self.last
        self.tokens = min(self.capacity, self.tokens + delta * self.refill_rate)
        self.last = now
        # Try to spend 1 token.
        if self.tokens >= 1:
            self.tokens -= 1
            return "allow"
        return "deny"

bucket = TokenBucket(capacity=5, refill_rate=1)
# Burst of 7 requests at t=0 — bucket has 5 tokens.
out = "".join(bucket.consume(0)[0] for _ in range(7))   # 5 'a' then 2 'd'
print(out)
# Wait 3 seconds — bucket refills to 3 tokens.
print(bucket.consume(3.0))                              # allow (3 → 2)
print(bucket.consume(3.0))                              # allow (2 → 1)
print(bucket.consume(3.0))                              # allow (1 → 0)
print(bucket.consume(3.0))                              # deny  (0)

# What does this print? Type your prediction.

Τι θα εμφανίσει το πρόγραμμα; Γράψε εδώ:

💬 Συζήτηση

Γίνε ο πρώτος — κάνε μια ερώτηση ή μοιράσου μια συμβουλή.
Σύνδεση για να συμμετάσχεις στη συζήτηση. Η ανάγνωση είναι δωρεάν.
Φόρτωση συζήτησης…