在线商店,使用字典存储100件商品信息,包括商品名称、价格和库 存数量。使用集合存储用户的购物车信息,包括商品名称和数量。实现 用户浏览商品、添加商品到购物车、结算购物车等功能。
时间: 2024-10-17 17:13:28 浏览: 17
在线商店的这个场景可以使用Python的字典和集合数据结构来实现。以下是基本的设计:
1. **商品信息**:
- 商品字典 (`products`): 每个键是商品ID(如字符串形式),值是一个包含商品名称(name)、价格(price)和库存量(stock)的元组或字典,例如:
```python
products = {
'001': {'name': '手机', 'price': 3999, 'stock': 50},
'002': {'name': '电脑', 'price': 7999, 'stock': 30},
# ...
}
```
2. **用户购物车**:
- 购物车集合 (`cart`) 使用每个商品名称作为唯一标识,元素是该商品的数量。开始时可能是空的:
```python
cart = {}
```
3. **功能实现**:
- **浏览商品**: 遍历 `products` 字典,展示商品信息。
```python
def browse_product(product_id):
if product_id in products:
print(f"商品名称: {products[product_id]['name']}, 价格: {products[product_id]['price']}")
```
- **添加商品到购物车**:
```python
def add_to_cart(product_id, quantity):
if product_id not in cart:
cart[product_id] = 0
cart[product_id] += quantity
```
- **结算购物车**:
```python
def checkout_cart():
total_price = 0
for product_id, quantity in cart.items():
price = products[product_id]['price']
total_price += price * quantity
# 更新库存,这里仅做示例,实际应用需考虑并发修改库存的问题
products[product_id]['stock'] -= quantity
return f"总价: {total_price}"
```
阅读全文