要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车购买
如果商品总额大于总资产,提示账户余额不足,否则,购买成功
goods = [{"name":"电脑","price":1999},
{"name":"鼠标","price":10},
{"name":"游艇","price":20},
{"name":"美女","price":998},]
代码如下:
# -*-coding:utf-8-*-
# 商品列表
goods = [{"ID": "1", "name": "电脑", "price": 1999},
{"ID": "2", "name": "鼠标", "price": 10},
{"ID": "3", "name": "游艇", "price": 20},
{"ID": "4", "name": "美女", "price": 998}, ]
# 定义购物车
goods_car = []
# 定义总资产
money = input("请输入您的总资产:")
# 用户输入总资产
while not money.isdigit():
print("仅允许输入数字")
money = input("请输入您的总资产:")
else:
user_amount = int(money)
while True:
print("商品列表".center(30, "="))
for i in goods:
print(i['ID'], i['name'], i['price'])
choose = input("请输入您要购买的商品编号,按q退出:")
if choose == 'q':
break
if choose.isdigit():
goods_num = int(choose)
# 判断输入编号是否在列表中
if 0 < goods_num <= len(goods):
# 获取端口列表中选择的商品
buy_goods = goods[goods_num - 1]
# 判断商品金额是否大于用户的资产
goods_price = buy_goods['price']
if user_amount < goods_price:
print("账户余额不足!不能购买该商品")
else:
# 将用户购买成功的商品加入到购物车中
goods_car.append(buy_goods)
user_amount -= goods_price
# print("购买成功,商品是:%s" % goods_car)
for my_goods in goods_car:
print("购买成功,商品是:", my_goods['name'], my_goods['price'])
print("预算还有%d" % user_amount)
else:
print("输入的商品编号有误!请重新输入:")
else:
print("仅允许输入数字")
运行结果如下:
请输入您的总资产:200
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:5
输入的商品编号有误!请重新输入:
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:1
账户余额不足!不能购买该商品
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:2
购买成功,商品是: 鼠标 10
预算还有190
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出:2
购买成功,商品是: 鼠标 10
购买成功,商品是: 鼠标 10
预算还有180
=============商品列表=============
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
请输入您要购买的商品编号,按q退出: