设计一个购物车处理程序Python
时间: 2024-10-13 21:09:47 浏览: 35
设计一个购物车处理程序通常会涉及到添加商品、删除商品、查看商品列表、计算总价等功能。这里是一个简单的Python模块示例,使用字典来模拟购物车的数据结构:
```python
class ShoppingCart:
def __init__(self):
self.items = {} # 商品ID到数量的映射
def add_item(self, item_id, quantity):
"""
添加商品到购物车
:param item_id: 商品ID
:param quantity: 数量
"""
if item_id in self.items:
self.items[item_id] += quantity
else:
self.items[item_id] = quantity
def remove_item(self, item_id, quantity=1):
"""
删除指定数量的商品
:param item_id: 商品ID
:param quantity: 要删除的数量,默认值为1
"""
if item_id in self.items and self.items[item_id] >= quantity:
self.items[item_id] -= quantity
if self.items[item_id] == 0:
del self.items[item_id]
def view_cart(self):
"""
查看购物车当前的所有商品及其数量
"""
return {item_id: self.items[item_id] for item_id in self.items}
def calculate_total(self):
"""
计算购物车中所有商品的总价
"""
return sum(item_id * quantity for item_id, quantity in self.items.items())
# 使用示例
cart = ShoppingCart()
cart.add_item('apple', 2)
cart.add_item('banana', 4)
print(cart.view_cart()) # {'apple': 2, 'banana': 4}
cart.remove_item('apple')
print(cart.calculate_total()) # 结果取决于之前添加的单价,这里假设苹果单价1元,香蕉2元,所以结果可能是6
```
阅读全文