Python 购物车----之用户部分
知识点: 文件读,写操作,if 判断, for 循环
salary = input("输入你的工资:") bought_list = [] product_list = {} with open("product_list","r",encoding="utf-8") as f1: for item in f1: p_name,p_price = item.strip().split(':') product_list[p_name]=int(p_price) print(product_list) if salary.isdigit(): salary = int(salary) while True: user_choice = input("please input product which you want:") if user_choice in product_list.keys(): if product_list[user_choice] <= salary: bought_list.append(user_choice) #增加列表的元素 salary = salary - product_list[user_choice] print("Had bought [\033[32;1m%s\033[0m], and your balance is \033[31;1m%s\033[0m"%(user_choice,salary)) print(bought_list) else: print("Your balance is less than product's price") continue elif user_choice is 'q': with open('bought.txt','w+',encoding='utf-8') as f2: for goods in bought_list: print(goods,file=f2) exit(print("You had bought %s goods, and your balance is %s"%(bought_list, salary))) else: print("The good had been sold out")
测试:
输入你的工资:15000 {'Python': 20, 'Iphone': 5288, 'Iwatch': 3288, 'Bike': 2400, 'Mac pro': 12888} please input product which you want:Python Had bought [Python], and your balance is 14980 ['Python'] please input product which you want:Bike Had bought [Bike], and your balance is 12580 ['Python', 'Bike'] please input product which you want:Mac pro Your balance is less than product's price please input product which you want:Iwatch Had bought [Iwatch], and your balance is 9292 ['Python', 'Bike', 'Iwatch'] please input product which you want:q You had bought ['Python', 'Bike', 'Iwatch'] goods, and your balance is 9292