← 返回题库
中级

创建订单并用事务扣减库存

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    users_csv = open_url(____).read()
    categories_csv = open_url(____).read()
    products_csv = open_url(____).read()
    orders_csv = open_url(____).read()
    order_items_csv = open_url(____).read()
    import sqlite3
    import pandas as pd
    from io import StringIO

    conn = sqlite3.connect(____)
    pd.read_csv(StringIO(____)).to_sql(____)
    pd.read_csv(StringIO(____)).to_sql(____)
    conn.execute(____)

    product_id, qty, user_id = ____, ____, ____
    try:
        cur = conn.cursor()
        row = cur.execute("____", (____)).fetchone()
        stock, price = row
        if stock < qty:
            raise ValueError(____)
        # 创建订单
        cur.execute("____",
                    (____))
        order_id = cur.lastrowid
        cur.execute("____",
                    (____))
        cur.execute("____", (____))
        conn.commit()
        print(____)
    except ValueError as e:
        conn.rollback()
        print(____)

    remaining = conn.execute("____", (____)).fetchone()[____]
    print(____)
    conn.close()

示例

输入
solve()
期望输出
订单创建成功
product_id=5 剩余库存: 58
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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