#输入用户名和密码 use = input("请输入用户名:") name = input("请输入密码:") #打开错误用户名文件读取,错误次数 f_name = open("name_time.txt","r+") num = f_name.read().count(use) #输入的用户名与锁定文件内容对比 f_erorr = open("erorr_name.txt","r+") if use in f_erorr.readlines(): num = 3 #取数据文件中的用户名和密码 f_user = open("user_name.txt","r") for i in f_user.readlines(): use_name, use_password = i.split() f_user.close() #商城购物函数 def buy(use): shop = {} num = 0 print("%s,你的账户余额为100000元!" %use) #账户余额是否要保存在文件中? print("商品名称 单价") goods = {"MacPro":12000, "MacAir":6000, "iphone7":6280, "iphone6s":5280} for key,value in goods.items(): print("%s: %s元" %(key,value)) flag = True while flag: s = input ("请选择要购买的商品:") #输入需要验证商品是否存在? if s == "#": flag = False break c = input ("请输入要购买商品的数量:") #输入的是否是数字? shop[s] = c #购物清单是否要保存在文件中? for k,v in shop.items(): num += int(shop[k]) * dic[k] #购买商品超过余额了怎么办? print("你总共花费:%s,余为:%s" %(num,100000-num)) #循环判断 while num < 3: if use.strip() == use_name and name.strip() == use_password: #用户名与密码正确 print("欢迎登录本商城购物!") buy(use) break else: #用户名与密码错误 f_name.write(use) f_name.seek(0) #返回文件句柄开头 num = f_name.read().count(use) #读取错误次数 if num >= 3: #错误次数达到3写入锁定文件 f_erorr.write(" "+use) else: # 错误次数小于3,再次输入用户名和密码 use = input("请输入用户名:") name = input("请输入密码:") else: #wilie循环正常退出运行 print("你的用户名和密码错误次数太多已被锁定!") f_name.close() f_erorr.close()