← 返回题库
中级

实现漏桶算法

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    rate_limit_config_csv = open_url(____).read()
    import pandas as pd
    from io import StringIO
    cfg = pd.read_csv(StringIO(____))
    user_cfg = cfg[cfg['____']=='____'].iloc[____]
    CAPACITY = int(____)
    RATE = CAPACITY / float(____)
    class LeakyBucket:
        def __init__(____):
            self.capacity = capacity
            self.queue = ____
            self.rate = rate
            self.last_leak = ____
        def allow(____):
            elapsed = now - self.last_leak
            leaked = int(____)
            self.queue = max(____, self.queue - leaked)
            if leaked > ____: self.last_leak = now
            if self.queue < self.capacity:
                self.queue += ____; return True
            return False
    bucket = LeakyBucket(____)
    results = []
    now = ____
    for i in range(____):
        now += ____
        results.append(bucket.allow(____))
    allowed = sum(____); denied = len(____) - allowed
    print(____)
    print(____)

示例

输入
solve()
期望输出
漏桶(capacity=30,rate=0.50/s): allowed=39, denied=1
结果: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码