python--最基本的购物车程序
程序:购物车程序
需求:
- 启动程序后,让用户输入工资,然后打印商品列表
- 允许用户根据商品编号购买商品
- 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
- 可随时退出,退出时,打印已购买商品和余额
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