在python中如何实现购物车:购买一次商品,提示菜单,购买之后显示购买商品并且剩余钱数,结束
时间: 2024-10-17 22:09:48 浏览: 26
在Python中实现一个简单的购物车功能,我们可以设计一个交互式的控制循环,模拟用户选择商品、支付过程以及更新库存和余额的操作。这里是一个基本的示例:
```python
class ShoppingCart:
def __init__(self):
self.items = {} # 商品字典,键是商品名,值是价格和库存量
self.balance = 0
def add_item(self, item_name, price):
if item_name not in self.items:
self.items[item_name] = {'price': price, 'quantity': 0}
print("商品已添加到购物车")
def remove_item(self, item_name):
if item_name in self.items:
if self.items[item_name]['quantity'] > 0:
self.items[item_name]['quantity'] -= 1
print(f"已从购物车移除 {item_name},剩余{self.items[item_name]['quantity']}件")
else:
print(f"{item_name}已在购物车中售罄")
else:
print(f"{item_name}不在购物车中")
def checkout(self):
total_price = sum(item['price'] * item['quantity'] for item in self.items.values())
if total_price <= self.balance:
print(f"结账成功!总金额:{total_price}")
self.balance -= total_price
print(f"余额:{self.balance}")
else:
print("余额不足,无法完成交易")
def show_cart(self):
print("当前购物车:")
for item_name, details in self.items.items():
print(f"{item_name}: {details['price']}元 x {details['quantity']}件")
# 示例使用
cart = ShoppingCart()
cart.add_item("苹果", 5)
cart.show_cart() # 显示初始购物车
cart.checkout() # 购买并查看余额
while True:
user_input = input("请选择操作(add, remove, checkout, show, quit):")
if user_input.lower() == "quit":
break
elif user_input.lower() in ["add", "remove", "checkout", "show"]:
getattr(cart, user_input.lower())() # 调用相应方法
else:
print("无效操作,请重新输入")
```
在这个示例中,用户可以添加商品、移除商品、结账、查看购物车,或退出程序。购物车会跟踪每个商品的价格和库存,并考虑用户的余额是否足够进行结算。
阅读全文