回顾:购物车中的错误
本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 66 课,共 78 课。
挑战
中等创建一个能够模拟购物车并处理错误的程序。你的任务是:
- 创建一个名为
handle_shopping_cart的函数,用于处理客户订单 - 该函数应接收一个订单字符串列表,格式为 "item:quantity"
- 按以下步骤处理每个订单:
- 拆分输入字符串,获取商品和数量
- 将数量转换为整数
- 将商品添加到购物车字典中,并将数量设为值
- 如果购物车中已存在该商品,则将新数量加到已有数量上
- 处理以下特定错误:
- 如果输入格式不正确(缺少冒号),打印 "Invalid format: {order}"
- 如果数量不是有效数字,打印 "Invalid quantity: {order}"
- 如果数量为负数,打印 "Negative quantity not allowed: {order}"
- 返回已完成的购物车字典
使用 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 在线编译器