yonghu=[{"用户名":"zhangsan","密码":"123qwe","姓名":"张三"},{"用户名":"lisi","密码":"123qwe","姓名":"李四"}] shangpin=[{"编号":"001","名称":"商品001","价格":"1","折扣":"1折"},{"编号":"002","名称":"商品002","价格":"2","折扣":"2折"},{"编号":"003","名称":"商品003","价格":"3","折扣":"3折"}] caidan=[{"编号":"1","内容":"显示商品列表"},{"编号":"2","内容":"增加商品信息"},{"编号":"3","内容":"删除商品"},{"编号":"4","内容":"设置商品折扣"},{"编号":"5","内容":"增加账号"},{"编号":"6","内容":"退出"}] dlbcg=0 dlcg=0 cxdl=0 def jyonghu(): yonghu1={} yonghu1["用户名"]=input("请输入用户名") yonghu1["密码"] = input("请输入用户密码") yonghu1["姓名"] = input("请输入姓名") global yonghu yonghu.append(yonghu1) print(yonghu) def jshangpin(): global shangpin print(shangpin) shangpin1={} shangpin1["编号"]=input("请输入商品编号") shangpin1["名称"] = input("请输入商品名称") shangpin1["价格"] = input("请输入商品价格") shangpin1["折扣"] = input("请输入商品折扣") shangpin.append(shangpin1) print(shangpin) def shanshangpin(): print(shangpin) shangpin2=input("请输入要删除的商品名称") spcz=0 for shangpin1 in shangpin: if shangpin1["名称"]==shangpin2: #global shangpin#一开始我往这边放了一个全局变量,报错:name 'shangpin' is used prior to global declaration #是因为全局变量要先定义,再能在函数里面使用,不然就报错 shangpin.remove(shangpin1) spcz=1 break if spcz==0: print("商品不存在") print(shangpin) def zhekou(): x=input("请输入商品名称") y=input("请输入商品折扣") for shangpin1 in shangpin: if shangpin1["名称"]==x: shangpin1["折扣"]=y print(shangpin) def denglu(): global dlcg global dlbcg yonghuming1=input("请输入用户名") for yonghu1 in yonghu: mmcs = 1 if yonghuming1==yonghu1["用户名"]: mima=yonghu1["密码"] while mmcs<4: mima2=input("请输入用户密码") if mima==mima2: print("登录成功") dlcg=1 break elif mima!=mima2: if mmcs<3: print("密码输入错误,请重新输入") mmcs+=1 else: print("密码连续三次输入错误,请15分钟后再操作") dlbcg=1 mmcs+=1 if dlcg==1 or dlbcg==1: break else: dlbcg=1 print("用户名不存在") break return dlcg,dlbcg def tuichu(): print("已退出登录") global dlcg dlcg=0 return cxdl def zscaidan(): for caidan1 in caidan: print(caidan1["编号"],":",caidan1["内容"]) bianhao = input("请输入你想要的菜单编号") return bianhao def zsshangpin(): for shangpin1 in shangpin: print("编号:",shangpin1["编号"],"名称:",shangpin1["名称"],"价格:",shangpin1["价格"],"折扣:",shangpin1["折扣"]) r1,r2=denglu()#一开始这一行前面多了空格,就报错:IndentationError: unindent does not match any outer indentation level,indent:缩进 while dlcg==1: bianhao=zscaidan() if bianhao=="1": zsshangpin() elif bianhao=="2": jshangpin() elif bianhao=="3": shanshangpin() elif bianhao=="4": zhekou() elif bianhao=="5": jyonghu() elif bianhao=="6": tuichu() r1,r2=denglu()