← 返回题库
初级

实现分页参数解析与验证

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    from io import StringIO
    products_csv = open_url("https://data.zuihe.com/dbd/ms-shop/state_00/products.csv").read()
    import pandas as pd
    from io import StringIO
    products = pd.read_csv(StringIO(products_csv))
    total = len(products)
    def paginate(data, page, page_size):
        if page < 1 or page_size < 1 or page_size > 100:
            return {'error': 'invalid pagination params'}
        start = (page-1)*page_size
        items = data.iloc[start:start+page_size].to_dict('records')
        return {'page': page, 'page_size': page_size, 'total': len(data),
                'has_next': start+page_size < len(data), 'items': items}
    for page, ps in [(1,5),(2,5),(3,5)]:
        r = paginate(products, page, ps)
        print(f"page={page}: items={len(r['items'])}, has_next={r['has_next']}, total={r['total']}")

示例

输入
solve()
期望输出
page=1: items=5, has_next=True, total=12
page=2: items=5, has_next=True, total=12
page=3: items=2, has_next=False, total=12
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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