题目:购物车系统
创建一个简单的购物车系统,要求如下:
定义一个 Product 类,表示商品,包含以下属性和方法:
属性:
name:商品名称(字符串)
price:商品价格(浮点数)
方法:
init(self, name, price):构造方法,用于初始化商品的名称和价格。
str(self):返回商品的详细信息,格式为:“商品名称: xxx, 商品价格: xxx元”。
定义一个 ShoppingCart 类,表示购物车,包含以下属性和方法:
属性:
products:保存商品对象的列表。
方法:
add_product(self, product):添加商品到购物车。
remove_product(self, product_name):根据商品名称移除购物车中的商品。
total_price(self):计算购物车中所有商品的总价并返回。
show_cart(self):打印购物车中所有商品的信息。
实现以下功能:
创建 3 个商品对象(如:苹果、香蕉和橙子),价格分别为 3.5 元、2 元和 4 元。
创建一个购物车对象,并将 3 个商品依次加入购物车。
移除一种商品后,展示购物车中的商品。
打印购物车总价。
代码实现:
# 商品类
class Product:
def __init__(self, name, price):
self.name = name
self.price = price
def __str__(self):
return f"商品名称: {self.name}, 商品价格: {self.price:.2f}元"
# 购物车类
class ShoppingCart:
def __init__(self):
self.products = []
# 添加商品
def add_product(self, product):
self.products.append(product)
# 移除商品
def remove_product(self, product_name):
for product in self.products:
if product.name == product_name:
self.products.remove(product)
# 计算总价
def total_price(self):
return sum(product.price for product in self.products)
# 展示购物车内容
def show_cart(self):
if not self.products:
print("购物车为空!")
else:
for product in self.products:
print(product)
# 测试代码
if __name__ == '__main__':
# 创建商品
apple = Product('苹果', 3.5)
banana = Product('香蕉', 2.0)
orange = Product('橙子', 4.0)
# 创建购物车
shopping_cart = ShoppingCart()
# 添加商品到购物车
shopping_cart.add_product(apple)
shopping_cart.add_product(banana)
shopping_cart.add_product(orange)
# 展示购物车内容
print("当前购物车内容:")
shopping_cart.show_cart()
# 移除商品
shopping_cart.remove_product('香蕉')
print("\n移除香蕉后,购物车内容:")
shopping_cart.show_cart()
# 打印总价
print(f"\n购物车总价:{shopping_cart.total_price():.2f}元")