编写一个购物车程序,是现在界面以列表的形式显示购物车的商品信息,商品的信息包括商品名称,价格和数量,并且能够对购物车中的商品信息进行增删查改操作
时间: 2024-10-22 20:21:30 浏览: 48
编写一个简单的购物车程序,可以采用面向对象的方式设计,主要包括以下几个步骤:
1. **创建商品类** (CartItem):
- 商品类需要包含属性如:商品名称(name)、价格(price) 和数量(quantity),通常还会有一个构造函数用于初始化这些属性。
```python
class CartItem:
def __init__(self, name, price, quantity=1):
self.name = name
self.price = price
self.quantity = quantity
def display_info(self):
return f"商品名称:{self.name}, 价格:{self.price}, 数量:{self.quantity}"
```
2. **创建购物车类** (ShoppingCart):
- 购物车包含一个商品列表(list) 和一些基本的操作方法,比如添加(add_item)、删除(remove_item)、查询(find_item) 和修改(update_quantity)商品信息。
```python
class ShoppingCart:
def __init__(self):
self.items = []
def add_item(self, item):
self.items.append(item)
def remove_item(self, name):
for i in self.items:
if i.name == name:
self.items.remove(i)
break
def find_item(self, name):
for item in self.items:
if item.name == name:
return item.display_info()
return "商品未找到"
def update_quantity(self, name, new_quantity):
for item in self.items:
if item.name == name:
item.quantity = new_quantity
return True
return False
def display_cart(self):
cart_info = ""
for item in self.items:
cart_info += f"{item.display_info()}\n"
return cart_info
```
3. **主程序示例**:
- 创建购物车实例并模拟用户交互,展示购物车内容、添加商品、删除商品等。
```python
if __name__ == "__main__":
cart = ShoppingCart()
while True:
user_input = input("请输入操作(add/remove/find/update/display):")
if user_input == "add":
name, price, quantity = input("请输入商品名、价格和数量:").split()
cart.add_item(CartItem(name, float(price), int(quantity)))
elif user_input == "remove":
name = input("请输入要删除的商品名:")
cart.remove_item(name)
elif user_input == "find":
name = input("查找商品名:")
print(cart.find_item(name))
elif user_input == "update":
name, new_quantity = input("更新商品名及新数量:").split()
cart.update_quantity(name, int(new_quantity))
elif user_input == "display":
print(cart.display_cart())
else:
print("无效操作,请重新输入.")
```
阅读全文