注册函数:
def regisiter(): with open(r"F:\pylearn\day12\购物车系统\账号密码.txt","r",encoding="utf8") as fr: user_dict=dict() data=fr.read() for i in range(len(data.split())): user_dict[data.split()[i].split("|")[0]]=data.split()[i].split("|")[1] #egi_count=0 while True: user_regi=input("注册:请输入你的用户名:>>>>") if user_regi not in user_dict: pwd_regi=input("注册:请输入你的密码:>>>>") pwd_regi_again=input("请再次输入你的密码:>>>>") if pwd_regi==pwd_regi_again : with open(r"F:\pylearn\day12\购物车系统\账号密码.txt", "a", encoding="utf8") as fw: fw.write(f"\n{user_regi}|{pwd_regi}") print("注册成功!") break else: print("两次输入的密码不一致,请重新再试!") else: print("此用户名已被注册!请更换一个用户名!") #regi_count+=1
登陆函数:
def logging(): logging_count=0 with open(r"F:\pylearn\day12\购物车系统\账号密码.txt","r",encoding="utf8") as fr: user_dict=dict() data=fr.read() for i in range(len(data.split())): user_dict[data.split()[i].split("|")[0]]=data.split()[i].split("|")[1] print(user_dict) print("你一共有3次输入账号密码的机会!") while logging_count<3: username=input("请输入你的用户名:>>>") pwd=input("请输入你的密码:>>>") if username in user_dict and pwd==user_dict.get(username): print("恭喜您,登陆成功!") break else: print("登陆失败请重新再试!") logging_count+=1 print(f"你现在还有{3-logging_count}次机会") if logging_count==3: print("次数已用尽,不允许再登陆!")
账户余额查询函数:
def salary_account(): with open(r"F:\pylearn\day12\购物车系统\账户余额.txt","r",encoding="utf8") as fr: salary=int(fr.read()) #print("您的账户余额为:\n",salary) return salary
商品列表查询函数:
def sale_display(): sale_dict=dict() with open(r"F:\pylearn\day12\购物车系统\商品列表.txt","r",encoding="utf8") as fr: sale_data=fr.read() for i in range(len(sale_data.split())): sale_dict[sale_data.split()[i].split(":")[0]]=sale_data.split()[i].split(":")[1] #print("商品列表如下:\n",sale_dict) return sale_dict
main函数:
#用户名和密码存放于文件中 # 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 # 允许用户根据商品编号购买商品 # 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 # 可随时退出,退出时,打印已购买商品和余额 import regisiter import loggin import buy regi_flag=input("是否拥有账号?没有账号请输入n开始注册,否则按其他任意键开始登陆!>>>\n") if regi_flag=="n": regisiter.regisiter() buy.buy() else: loggin.logging() buy.buy()