'''
用函数完成登录注册以及购物车的功能
作业需求:
1,启动程序,用户可选择四个选项:登录,注册,购物,退出。
2,用户注册,用户名不能重复,注册成功之后,用户名密码记录到文件中。
3,用户登录,用户名密码从文件中读取,进行三次验证,验证不成功则退出整个程序。
4,用户登录成功之后才能选择购物功能进行购物,购物功能(就是将购物车封装到购物的函数中)。
5,退出则是退出整个程序。
'''
'''
分析:将用户信息保存到文件userinfo.txt(不考虑多个账号同时使用)
存储格式为{"alex":{"pwd":"123456", "status":"logged", "money": 8000, "shopping":{}},
"wusir":{"pwd": "123456", "status":"logout","money": 6000, "shopping":{}},
......
}
'''
#判断文件是否存在,不存在,则创建空文件
def mk_file():
if not os.path.exists(filename):
f = open(filename, mode="w", encoding="utf-8")
f.close()
#获取文件中的内容,并将内容转换为dict类型
def get_file_content():
usr_dic = {}
with open(filename, mode="r", encoding="utf-8") as f:
content = f.read().strip()
if content != "":
usr_dic = eval(content)
return usr_dic
#修改文件内容
def set_file_content(usr_dic):
with open("%s.bak" % filename, mode="w", encoding="utf-8") as f:
f.write(str(usr_dic))
os.remove(filename)
os.rename("%s.bak" % filename, filename)
#用户注册
def register():
while 1:
usr = input("Register Username: ").strip()
pwd = input("Register Password: ").strip()
if usr != "" and pwd != "": # 判断用户名和密码是否合法
if len(usr) < 3 or len(usr) > 30:
print("