Python 购物车---之商家部分
知识点:文件写入操作, 函数, 函数递归
#!C:\Program Files\Python35/bin # -*- conding:utf-8 -*- # author: Frank # 定义商品列表 product_list = { 'Pen':2.5, 'NoteBook':3.3, 'eraser':1.0 } Mesg = ''' 1.Change goods' price 2.Add new goods 3.quit Plese input which do you want : ''' def print_list(): for key in product_list: print(key, product_list[key]) def change_price(): name = input("please input the goods name:") if name in product_list: new_price = input("please input new price:") product_list[name] = new_price print("\033[31;0m[%s]\033[0m price has been change to \033[32;0m%s\033[1m"%(name, new_price)) print_list() else: ok = input("the goods not in product list, do you want to add:") if ok in ('y','ye','yes'): add_goods() if ok in ('n','no','none'): exit(record_to_text()) def add_goods(): name = input("please input the add goods name:") if name in product_list: print("The goods had exist, please re_input:") add_goods() else: price = input("please input the goods price:") product_list[name] = price print("Add \033[31;0m[%s]\033[1m into list already"% name) print_list() def record_to_text(): with open("product",'w+',encoding='utf-8') as f: for goods in product_list: print(goods,product_list[goods], file=f) print_list() while True: user_input = input(Mesg) if user_input == '1': change_price() elif user_input == '2': add_goods() else: user_input == '3' print("Your current produce list as below:") print_list() exit(record_to_text())
测试:
NoteBook 3.3 eraser 1.0 Pen 2.5 1.Change goods' price 2.Add new goods 3.quit Plese input which do you want : 2 please input the add goods name:Apple please input the goods price:5.0 Add [Apple] into list already Apple 5.0 NoteBook 3.3 eraser 1.0 Pen 2.5 1.Change goods' price 2.Add new goods 3.quit Plese input which do you want : 1 please input the goods name:Pen please input new price:2.3 [Pen] price has been change to 2.3 Apple 5.0 NoteBook 3.3 eraser 1.0 Pen 2.3 1.Change goods' price 2.Add new goods 3.quit Plese input which do you want : 1 please input the goods name:book the goods not in product list, do you want to add:no