购物车程序

本程序主要功能通过输入工资额进入商品选购,选择商品列表中需要购买的商品,并结算打印购物清单。

 1 # David James
 2 
 3 
 4 Product_list =[
 5     ('iPhone6', 6888),
 6     ('Bike', 800),
 7     ('Coffe',35),
 8     ('Watch', 12000),
 9     ('Macbook Pro', 9800),
10     ('Sony TV', 10800),
11     ('Python', 55),
12 ]
13 shopping_list = []  #定义购物清单空列表
14 salary = input("请输入您的工资额:")
15 if salary.isdigit():    #判断输入字符是否为数字
16     salary = int(salary)    #强制转换为整型
17     while True:
18         for index,item in enumerate(Product_list):  #通过enumerate方法循环获取商品列表下标作为商品序号
19             print(index,item)
20         User_Selection = input("请选择商品:")       #输入选择商品序号
21         if User_Selection.isdigit():               #判断输入的字符是否为数字
22             User_Selection = int(User_Selection)    #强制转换为整型
23             if User_Selection < len(Product_list) and User_Selection >=0:   #控制输入的数字必须为商品列表中的序号
24                 p_item = Product_list[User_Selection]                       #提取所选商品信息
25                 if p_item[1] <= salary:                                 #判断工资是否够买所选商品
26                     shopping_list.append(p_item)                        #将商品信息加入购物列表
27                     salary -= p_item[1]                                 #工资减除商品价格
28                     print("你已选择商品 %s,目前所剩余额为 %s"%(p_item,salary))
29                 else:
30                     print("\033[31;1m您的余额不足!!!\033[0m \033[31;1m%s\033[0m"%(salary))    #如果工资不足,显示余额不足
31             else:
32                 print("\033[31;1m您输入的商品序号错误,请仔细查看商品列表重新输入......\033[0m")        #输入的数字不在商品列表中,提示....
33         elif User_Selection == 'q':                                         #如果输入的不是数字,判断是否为q,是则打印购物清单
34             print("--------购物清单---------")
35             for P in shopping_list:
36                 print(P)
37             print("您当前工资余额为:%s"%salary)
38             exit()
39         else:
40             print("\033[31;1m非法操作!\033[0m")         #输入字符不为q,系统报错

 

posted @ 2017-10-08 23:10  俊侍郎  阅读(184)  评论(0编辑  收藏  举报