根据以下数据结构: 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-06 22:41:09 浏览: 82
好的,我明白了你的问题。以下是 Python3 的代码实现:
```python
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "键盘", "price": 20},
{"name": "音响", "price": 998},
]
balance = int(input("请输入您的工资:"))
shopping_cart = []
while True:
print("商品列表:")
for i, good in enumerate(goods):
print("编号:%d,商品名称:%s,商品价格:%d" % (i, good["name"], good["price"]))
choice = input("请输入商品编号进行购买(输入 q 退出):")
if choice == "q":
print("已购买商品:")
for good in shopping_cart:
print("商品名称:%s,商品价格:%d" % (good["name"], good["price"]))
print("余额:%d" % balance)
break
if not choice.isdigit():
print("输入有误,请重新输入!")
continue
choice = int(choice)
if choice < 0 or choice >= len(goods):
print("输入有误,请重新输入!")
continue
good = goods[choice]
if balance < good["price"]:
print("余额不足,请重新选择!")
continue
balance -= good["price"]
shopping_cart.append(good)
print("购买成功!")
```
运行代码后,程序会先让用户输入工资,然后进入循环。在循环中,程序会打印商品列表和编号,并提示用户输入商品编号进行购买。如果用户输入 q,则退出循环并打印已购买商品和余额;如果用户输入的不是数字或者数字超出商品编号范围,则提示用户重新输入;如果用户选择的商品价格大于余额,则提示余额不足;如果用户选择的商品价格小于等于余额,则扣除余额并加入购物车,并提示购买成功。
阅读全文