Python 使用类模拟一个在线购物车,支持添加商品、删除商品等操作

Document 对象参考手册 Python3 实例

我们将使用 Python 类来模拟一个在线购物车。购物车将支持添加商品、删除商品、查看购物车内容以及计算总价等功能。

实例

class ShoppingCart:
    def __init__(self):
        self.items = []

    def add_item(self, name, price, quantity=1):
        self.items.append({'name': name, 'price': price, 'quantity': quantity})

    def remove_item(self, name):
        self.items = [item for item in self.items if item['name'] != name]

    def view_cart(self):
        if not self.items:
            print("Your shopping cart is empty.")
        else:
            for item in self.items:
                print(f"{item['name']} - ${item['price']} x {item['quantity']}")

    def calculate_total(self):
        return sum(item['price'] * item['quantity'] for item in self.items)

# 示例使用
cart = ShoppingCart()
cart.add_item("Apple", 0.5, 3)
cart.add_item("Banana", 0.3, 5)
cart.view_cart()
print(f"Total: ${cart.calculate_total()}")
cart.remove_item("Banana")
cart.view_cart()
print(f"Total: ${cart.calculate_total()}")

代码解析:

  1. __init__ 方法初始化购物车,创建一个空列表 items 来存储商品。
  2. add_item 方法用于向购物车中添加商品,接受商品名称、价格和数量(默认为1)作为参数,并将其添加到 items 列表中。
  3. remove_item 方法用于从购物车中删除指定名称的商品,使用列表推导式来过滤掉不需要的商品。
  4. view_cart 方法用于查看购物车中的商品,如果购物车为空,则提示购物车为空;否则,遍历 items 列表并打印每个商品的详细信息。
  5. calculate_total 方法用于计算购物车中所有商品的总价,通过列表推导式和 sum 函数实现。

输出结果:

Apple - $0.5 x 3
Banana - $0.3 x 5
Total: $2.4
Apple - $0.5 x 3
Total: $1.5

Document 对象参考手册 Python3 实例