Menu
CoddyTech

回顾:购物车中的错误

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 66 课,共 78 课。

challenge icon

挑战

中等

创建一个能够模拟购物车并处理错误的程序。你的任务是:

  1. 创建一个名为 handle_shopping_cart 的函数,用于处理客户订单
  2. 该函数应接收一个订单字符串列表,格式为 "item:quantity"
  3. 按以下步骤处理每个订单:
    • 拆分输入字符串,获取商品和数量
    • 将数量转换为整数
    • 将商品添加到购物车字典中,并将数量设为值
    • 如果购物车中已存在该商品,则将新数量加到已有数量上
  4. 处理以下特定错误:
    • 如果输入格式不正确(缺少冒号),打印 "Invalid format: {order}"
    • 如果数量不是有效数字,打印 "Invalid quantity: {order}"
    • 如果数量为负数,打印 "Negative quantity not allowed: {order}"
  5. 返回已完成的购物车字典

使用 if 检查格式和负数数量。只有将数量转换为整数时才可能引发错误,因此应在 except ValueError 中打印 "Invalid quantity: {order}"。保留最后的 except Exception as e 代码块作为安全网,并在其中打印 "Unexpected error: {e}"。

亲手试试

def handle_shopping_cart(orders):
    # 为购物车创建一个空字典
    cart = {}

    # 处理列表中的每个订单
    for order in orders:
        try:
            # 拆分订单,检查格式和数量,然后将其加入购物车
            pass

        except ValueError:
            # 数量不是数字
            pass

        except Exception as e:
            # 其他意外情况
            pass

    # 返回处理完成的购物车
    return cart

逻辑与流程中的所有课

自己练习: Python 在线编译器