python--最基本的购物车程序

程序:购物车程序

需求:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 
  4. 可随时退出,退出时,打印已购买商品和余额
 1 product = [
 2     ("ipad", 500),
 3     ("touch", 1000),
 4     ("watch", 2000),
 5     ("iphone", 3000),
 6     ("macair", 4000),
 7     ("macpro", 5000)
 8 ]
 9 
10 shopping_list = []
11 money = input("请输入你手中的资金:")
12 if money.isdigit():   # 判断输入的是不是数字
13     money = int(money)   # 将输入的转换成int类型
14     while True:   # 进入循环
15         # for item in product:
16         #     print(item)
17         #     print(product.index(item), item)   # 通过index打印下标
18         for index, item in enumerate(product):   # 打印商品列表&取出下标
19             print(index, item)
20         user_choice = input("请选择商品编号>>>:")   # 输入需要购买的商品编号(列表下标)
21         if user_choice.isdigit():   # 判断输入的是否为数字类型
22             user_choice = int(user_choice)   # 将输入的转换成int类型
23             if user_choice< len(product) and user_choice>= 0:   # 判断输入的编号是否存在列表中
24                 # p_item为元组
25                 p_item = product[user_choice]   # 通过输入的商品编号(下标),取出商品(加入购物车)
26                 print(p_item)
27                 if p_item[1] <= money:   # 买得起
28                     shopping_list.append(p_item)   # 加入购物车
29                     money -= p_item[1]   # 扣钱
30                     # 打印已购买的商品和余额
31                     print("Added %s into shopping cart, your current balance is \033[31;1m%s\033[0m" % (p_item, money))
32                 else:
33                     print(" \033[31;1m 你的余额只剩[%s]啦,还买个毛线 \033[0m " % money)   # 打印余额不足
34             else:
35                 print("product code [%s] is not exist" %user_choice)   # 输入的商品编号不存在
36         elif user_choice == "q":   # 退出
37             print("-----------shopping list------------")
38             for p in shopping_list:   # 循环打印已购买的商品
39                 print(p)
40             print("Your current banlance:", money)
41             exit()
42         else:
43             print("invalid option")
44             break

 

posted @ 2022-04-19 16:36  WJ-HAHA  阅读(271)  评论(0编辑  收藏  举报