编写一个类,实现一个简单的电子商务购物车系统,包括添加商品、计算总价和结账功能。
时间: 2024-03-15 08:46:56 浏览: 26
好的,下面是一个简单的购物车类实现:
```python
class ShoppingCart:
def __init__(self):
self.items = {}
def add_item(self, item_name, quantity, price):
if item_name not in self.items:
self.items[item_name] = {'quantity': quantity, 'price': price}
else:
self.items[item_name]['quantity'] += quantity
def remove_item(self, item_name):
if item_name in self.items:
del self.items[item_name]
def calculate_total(self):
total = 0
for item in self.items.values():
total += item['quantity'] * item['price']
return total
def checkout(self):
total = self.calculate_total()
self.items = {}
return total
```
在上面的代码中,我们定义了一个名为 `ShoppingCart` 的类,它有以下四个方法:
- `__init__(self)`:这是类的构造函数,用于初始化购物车,将其初始为空字典。
- `add_item(self, item_name, quantity, price)`:这个方法用于添加商品到购物车中。如果商品已经存在于购物车中,则只增加其数量;否则将其添加到购物车中。
- `remove_item(self, item_name)`:这个方法用于从购物车中移除某个商品。
- `calculate_total(self)`:这个方法用于计算购物车中所有商品的总价。
- `checkout(self)`:这个方法用于结账,计算总价并清空购物车。
下面是一个简单的示例程序,演示如何使用上面的购物车类:
```python
cart = ShoppingCart()
cart.add_item('apple', 2, 1.5)
cart.add_item('banana', 3, 0.8)
cart.add_item('orange', 1, 2.0)
print(f'Total price: {cart.calculate_total()}')
print(f'Checkout: {cart.checkout()}')
```
这个程序将输出:
```
Total price: 6.9
Checkout: 6.9
```
这表示购物车中有2个苹果,3个香蕉和1个橙子,总价为6.9美元。调用 `checkout()` 方法后,购物车被清空,返回总价。