python第二天作业:购物车
程序:购物车程序
需求:
- 启动程序后,让用户输入工资,然后打印商品列表
- 允许用户根据商品编号购买商品
- 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
- 可随时退出,退出时,打印已购买商品和余额
# Author:
product_list = [
("iphone7",6000),
("book",50),
("coffer",100),
("watch",10080),
("water",5)
]
shopping_cart = [] #定义购物车
salary = input("请输入工资,必须是数字:") #输入工资
if salary.isdigit(): #判断是否数字
salary =int(salary) #整形
while True:
print("------本店商品清单------") #进入循环
index = 0 #定义下标
for product in product_list:
print(index,product) #打印下标,清单
index +=1
choice = input("请输入编号购买商品>>:").strip() #输入商品列表,去掉空格
if choice.isdigit(): #判断是否为数字,不是返回
choice = int(choice) #整形
if choice < len(product_list) and choice >= 0 : #判断是否是商品编号
p_i = product_list[choice] #把选择商品编号物品定义给p_i
if salary >= p_i[1]: #工资跟商品价格比大
salary -=p_i[1] #工资减掉商品的价格
shopping_cart.append(p_i) #添加到购物车
print("你所购买的商品为%s,剩余工资为%s!!\n"%(p_i,salary)) #打印所购商品,余额
print("欢迎继续挑选,退出请按q\n")
else:
differ_money = p_i[1] - salary #计算差额
print("跟工资相差%s,买不起!!!\n"%differ_money) #打印差额
else:
print("<<输入无效的编号!>> \n")
elif choice =="q":
print("-------所购商品清单-------")
print("结算商品为%s,剩余工资为%s\n"%(shopping_cart,salary)) #打印购物车,余的工资
print("欢迎下次光临!")
exit()
else:
print("不买请输入q 退出!")