10. 假设你正在开发一个在线购物平台,你需要编写一个 Python 类Item来表示商品, 类ShoppingCart 来表示购物车。 商品类Item包含以下方法: _ _init__(self, name, price):初始化一个新的商品对象。 get_name(self):返回商品名称。 get_price(self):返回商品单价。 购物车类ShoppingCart 包含以下方法: __init__(self):初始化一个新的购物车对象。 add_item(self, item, quantity):向购物车中添加指定数量的商品。如果购物车中已经存在该商品,则增加其数量,否则将其添加到购物车中。 remove_item(self, item, quantity):从购物车中移除指定数量的商品。如果购物车中该商品的数量少于指定数量,则将其全部移除。 get_total(self):计算购物车中所有商品的总价,返回一个浮点数。 get_item_count(self):返回购物车中商品的总数量。 get_items(self):返回购物车中所有商品及其数量的字典。
时间: 2023-05-17 19:07:43 浏览: 104
好的,让我来回答你的问题。
首先,对于商品类Item,我会这样编写:
```python
class Item:
def __init__(self, name, price):
self.name = name
self.price = price
def get_name(self):
return self.name
def get_price(self):
return self.price
```
然后,对于购物车类ShoppingCart,我会这样编写:
```python
class ShoppingCart:
def __init__(self):
self.items = {}
def add_item(self, item, quantity):
if item in self.items:
self.items[item] += quantity
else:
self.items[item] = quantity
def remove_item(self, item, quantity):
if item in self.items:
if self.items[item] <= quantity:
del self.items[item]
else:
self.items[item] -= quantity
def get_total(self):
total = 0
for item, quantity in self.items.items():
total += item.get_price() * quantity
return total
def get_item_count(self):
count = 0
for quantity in self.items.values():
count += quantity
return count
def get_items(self):
return self.items
```
这样,我们就可以使用这两个类来实现一个简单的购物平台了。
阅读全文