1、写一个商品管理的小程序(包含字典操作+文件操作+函数)
2、商品存在文件里面
1、添加商品
输入产品名称、颜色、价格
要校验商品是否存在,价格是否合法
输入是否为空
2、修改商品信息
输入产品名称、颜色、价格
要校验商品是否存在,价格是否合法
输入是否为空
3、查看商品信息
输入商品名称
输入all就展示全部商品
输入的是其他的商品名称,
4、删除商品
输入商品名称
import json file_name = ‘product.json‘ f = open(‘product.json‘, encoding=‘utf-8‘) product_info = json.load(f) #校验产品名称是否存在的函数 def check_name(pro_name): names = [] for k in product_info: names.append(k) if pro_name in names: return True return False #校验输入的价格是否为正数的函数 def is_price(pro_price): pro_price = str(pro_price) if pro_price.isdigit() : #判断价格是否为正整数 return True elif pro_price.count(‘.‘)==1 : #判断价格是否为正小数 left,right = pro_price.split(‘.‘) if left.isdigit() and right.isdigit(): return True return False return False #添加商品的函数 def add_product(pro_name): if check_name(pro_name): #调用检查商品是否存在的函数 print(‘该商品已存在,不能重复添加‘) else: add_info={} pro_color = input(‘请输入商品颜色:‘) #填写新增商品信息 pro_price = input(‘请输入商品价格:‘) if not pro_color.strip() or not pro_price.strip(): print(‘输入不能为空‘) elif not is_price(pro_price): print(‘商品价格需要输入正数‘) else: add_info[‘color‘]=pro_color add_info[‘price‘]=float(pro_price) product_info[pro_name]=add_info product_json = json.dumps(product_info,ensure_ascii=False,indent=8) f1 = open(‘product.json‘,‘w‘,encoding=‘utf-8‘) f1.write(product_json) f1.close() print(‘添加商品成功‘) #展示商品的函数 def show_product(pro_name): if pro_name == ‘all‘: print(product_info) elif not check_name(pro_name): print(‘商品不存在‘) else: print(pro_name,product_info[pro_name]) #删除商品的函数 def del_product(pro_name): if not check_name(pro_name): print(‘商品不存在‘) else: product_info.pop(pro_name) product_json = json.dumps(product_info,ensure_ascii=False,indent=8) with open(‘product.json‘,‘w‘,encoding=‘utf-8‘) as f2: f2.write(product_json) print(‘已删除“%s”的商品信息‘%pro_name) #更新商品的函数 def update_product(pro_name): if not check_name(pro_name): print(‘商品不存在‘) else: update_info = {} pro_color = input(‘请输入商品的颜色:‘) pro_price = input(‘请输入商品的价格:‘) if not pro_color.strip() or not pro_price.strip(): print(‘输入不能为空‘) elif not is_price(pro_price): print(‘商品价格需要输入正数‘) else: update_info[‘color‘] = pro_color update_info[‘price‘] = float(pro_price) product_info[pro_name] = update_info product_json = json.dumps(product_info,ensure_ascii=False,indent=8) with open(‘product.json‘,‘w‘,encoding=‘utf-8‘) as f3: f3.write(product_json) print(‘修改“%s”的商品信息成功‘%pro_name) choice = input(‘1.添加商品2.修改商品3.删除商品4,展示商品信息\n请输入:‘) if not choice.strip(): print(‘输入不能为空‘) elif choice!=‘1‘ and choice!=‘2‘ and choice!=‘3‘ and choice!=‘4‘: print(‘非法输入‘) else: name = input(‘请输入要添加的商品名称:‘) if not name.strip(): print(‘商品名称不能为空‘) else: if choice==‘1‘: add_product(name) elif choice==‘2‘: update_product(name) elif choice==‘3‘: del_product(name) elif choice==‘4‘: show_product(name)