shoping_car (购物车)

需求:

  • 一个产品列表
  • 输入工资,显示出产品列表(编码、产品名称、产品价格)
  • 输入产品编码,根据工资去买商品
  • 将买的商品存储起来,显示账号余额

方法1:

 

 1 #Author:mollsweet
 2 #商品列表
 3 product_list=[
 4     ("Iphone",8500),
 5     ("Camera",7500),
 6     ("Lamp",250),
 7     ("Bookcase",16700),
 8 ]
 9 shopping=[]
10 count=0
11 while True:#循环输入工资,并判断工作输入的类型
12     salary = input("Input your salary:")
13     if salary.isdigit():
14         salary = int(salary)#输入的默认为str类型,因此需要进行int强转
15         print("________________________________________________________")
16         for i in product_list:#循环输出商品列表
17             print(product_list.index(i),i)#商品的编号:product_list.index(i),
18         #循环输出上商品的编码,并对编码的输入格式进行判断
19         while True:
20             product_code=input("请输入你要买的商品编号:")
21             if product_code.isdigit():
22                 product_code=int(product_code)
23                 #对输入的商品编号是否在商品列表进行判断
24                 if product_code<len(product_list) and product_code>-1:
25                     if salary >= product_list[product_code][1]:
26                         product_buy=product_list[product_code][0]#买的商品的名称
27                         product_price=product_list[product_code][1]#买的商品的价格
28                         salary = salary - product_price #工资随着购买商品减少
29                         shopping.append(product_buy)#购物清单中添加购买的商品
30                         count+=1#统计购买的次数
31                         # print("你购买的商品为:{product},价格为:{price},工资余额为:".format(product=product_buy, price=product_price),salary)
32                         print("你购买的商品为:%s,价格为:%s,工资余额为:\033[31;1m%s\033[0m"%(product_buy,product_price,salary))
33                         print("你购买的所有商品为:",shopping)
34                         # print("共计买了{_count}次商品".format(_count=count))
35                         print("\033[41;1m共计买了%s次商品\033[0m"%count)
36                     else:
37                         print("你的余额不够,不能再买商品,赶紧存钱吧!")
38                         break
39                 else:
40                     print("无该商品,请重新选择购买")
41             elif product_code == "q":
42                 print("钱没了,不买了")
43                 break
44             else:
45                 print("Invalid data")
46     elif salary == "q":
47         print("退出购物系统")
48         break
49     else:
50         print("Invalid data")
View Code

 

 

运用到知识点:

  • while for 循环
  • if 判断
  • 数列取值
  • 输出高亮显示:
    \033[31;1m%s\033[0m        --字体颜色
  • \033[41;1m共计买了%s次商品\033[0m  ----字体填充

 

posted @ 2019-04-14 22:03  mollsweet  阅读(79)  评论(0)    收藏  举报