"""
程序:购物车程序
需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
"""
#用户登录后需要加载的变量
product_list=[
["xiaomi6",2499],
["huaweip8",3000],
["iphon6",5000],
["basketball",300]
] #创建产品列表
legal_input=["q"] #用户购买合法输入列表
user_card=[] #用户已购买商品的列表
while True:
user_salary=input("请输入工资")
if user_salary.isdigit():
x=int(user_salary)
break
else:
print("输入错误请重新输入")
user_salary=int(user_salary)
for i,j in enumerate(product_list): #定义一个打印商品列表的函数
legal_input.append(str(i))
##对用户的输入可能做判断,满足要求的输入是0到3这几个数字字符串q字符,
def print_product_list():
for product_id,product in enumerate(product_list):
print(product_id,product)
print_product_list()
while True:
user_choice=input("请输入你要购买的商品编号(q退出程序):")
if user_choice in legal_input:
if user_choice=="q":
print("你已购物品如下:%s" % user_card)
break
else: #用户选择购买商品
print_product_list()
if user_salary>0:
for i,j in enumerate(product_list):
if i==int(user_choice):
if user_salary-j[1]>0:
user_card.append(j)
user_salary=user_salary-j[1]
print("{}商品已被购买,您的余额为{}".format(j,user_salary))
else:
print("您的余额为%s不足购买本产品" % user_salary)
else:
print("您的余额不足购买{}产品".format(user_choice))
else:
print("输入错误,请重新输入")