写一个Python代码,写一个购物车小程序,要求如下,1.程序运行时,列出可以购买的商品列表2.用户输入自己的钱包余额 3.用户输入商品序号,如果商品存在,才可以输入购买数量,如果钱包余额足够支付,则该商品可以购买(钱不够不能买),商品和数量会计入购物清单(相当于购物车),钱包余额应该减去已购商品需要支付的钱。商品购买成功后,用户可以继续输入商品序号选择商品,或者选择退出购买。4.用户退出购买时,列出购物清单、应付多少钱、还剩多少钱
时间: 2023-06-04 12:07:53 浏览: 166
很高兴为您服务!以下是Python代码实现,可以实现您的需求:
```python
# 商品列表
goods = [{'name': 'iPhone', 'price': 5999},
{'name': 'Macbook', 'price': 12888},
{'name': 'iPad', 'price': 3299},
{'name': 'Apple Watch', 'price': 3399},
{'name': 'AirPods', 'price': 1299}]
# 获取用户钱包余额
balance = float(input('请输入您的钱包余额:'))
# 购物清单
cart = {}
# 循环进行购物
while True:
# 打印商品列表
print('---------------------------')
print('商品列表:')
for i, g in enumerate(goods):
print('{0}. {1} -- 价格:{2}'.format(i+1, g['name'], g['price']))
print('---------------------------')
# 用户输入商品序号
index = int(input('请输入商品序号(输入0退出):'))
if index == 0:
# 退出购买
print('---------------------------')
print('购物清单:')
for g, n in cart.items():
print('{0} x {1} -- 小计:{2}'.format(g, n, goods[int(g)-1]['price']*n))
print('---------------------------')
print('应付金额:{0}'.format(sum([goods[int(g)-1]['price']*n for g, n in cart.items()])))
print('剩余金额:{0}'.format(balance))
break
if index < 0 or index > len(goods):
# 商品序号无效
print('商品序号无效,请重新输入!')
continue
# 用户输入购买数量
num = int(input('请输入购买数量:'))
if num <= 0:
# 购买数量无效
print('购买数量无效,请重新输入!')
continue
# 购买商品
price = goods[index-1]['price'] * num
if balance >= price:
balance -= price # 更新账户余额
cart[str(index)] = num # 添加购物清单
print('商品添加成功!')
else:
print('余额不足,购买失败!')
```
使用方法:
将上述代码保存为 `shopping_cart.py` 文件,使用命令行运行:
```
python shopping_cart.py
```
按照提示进行购物即可。希望能够满足您的需求!
阅读全文