购物车程序开发 根据以下数据结构: 1. goods = [ 2. {"name": "电脑", "price": 1999}, 3. {"name": "鼠标", "price": 10}, 4. {"name": "键盘", "price": 20}, 5. {"name": "音响", "price": 998}, 7. ] 实现功能要求: 1、启动程序后,让用户输入工资,然后进入循环,打印商品列表和编号 2、允许用户根据商品编号选择商品 3、用户选择商品后,检测余额是否够,够就直接扣款,并加入购物车, 不够就提醒余额不足 4、可随时退出,退出时,打印已购买商品和余额
时间: 2023-07-05 16:21:49 浏览: 62
好的,这是一个购物车程序的问题。首先我们需要设计一个购物车类,然后在主程序中实例化该类并调用其方法实现购物车的功能。
以下是一种实现方案:
```python
class Cart:
def __init__(self, goods):
self.goods = goods
self.balance = 0
self.cart = []
def show_goods(self):
print("商品列表:")
for i, g in enumerate(self.goods):
print(f"{i+1}. {g['name']} - {g['price']}元")
def add_to_cart(self, index):
if index < 1 or index > len(self.goods):
print("商品编号无效")
return
selected = self.goods[index-1]
if self.balance >= selected['price']:
self.balance -= selected['price']
self.cart.append(selected)
print(f"已将{selected['name']}加入购物车")
else:
print("余额不足")
def show_cart(self):
print("已购买商品:")
for c in self.cart:
print(f"{c['name']} - {c['price']}元")
print(f"余额:{self.balance}元")
def start(self):
print("欢迎使用购物车程序")
salary = int(input("请输入您的工资:"))
self.balance = salary
while True:
self.show_goods()
choice = input("请输入商品编号,或输入 q 退出:")
if choice == 'q':
break
self.add_to_cart(int(choice))
self.show_cart()
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "键盘", "price": 20},
{"name": "音响", "price": 998},
]
cart = Cart(goods)
cart.start()
```
在上述代码中,`Cart` 类中实现了四个方法:
- `show_goods`:展示商品列表。
- `add_to_cart`:将选中的商品加入购物车。
- `show_cart`:展示购物车中已购买的商品和余额。
- `start`:程序的入口,负责获取用户输入,并根据输入调用其他方法。
主程序中实例化了一个 `Cart` 对象,并调用其 `start` 方法,从而启动了购物车程序。
阅读全文