'''
保存注册信息到文件
在京东或淘宝等网店购物前,首先需要注册成为该平台的会员,
然后才能进行商品购买。请编写一个注册程序:
要求用户输入
用户名、密码、密码确认、
真实姓名、E-mail地址、找回密码问题和答案进行注册,
并将注册信息保存到文本文件user.txt中
'''
# 注册程序
member_dict = {}
member_login_dict = {}
User_True_Info = {}
name_list = []
#字典[key] = 数据值; 如果key值存在,就是修改,如果key值不存在,就是添加
def Register():
# 用户名、密码、密码确认
name = input("请输入要注册的用户名:")
if name_list.count(name) != 1:
password = input("请输入注册的密码:")
# 真实姓名、E-mail地址、找回密码问题和答案进行注册
i = len(member_login_dict) + 1
flag = 1
while flag:
re_password = input("请再次输入密码以确认无误:")
if re_password == password:
print("账户注册成功!")
name_list.append(name)
member_login_dict[i] = {name:{'Name':name,'Password':password}}
# 将注册信息保存到文本文件user.txt中
f = open('user.txt', 'a')
f.write(str(member_login_dict.get(i)))
f.write('\n')
f.close()
flag = 0
else:
print("重新输入的密码不正确,请再次输入:")
def Ture_Info():
True_name = input("请输入真实姓名:")
E_mail = input("请输入E-mail地址:")
Question = input("请输入你要设置的问题,以便找回密码时使用:")
Answer = input("请输入问题答案:")
i = len(User_True_Info) + 1
User_True_Info[i] = {True_name:{'true_name':True_name,'mail':E_mail,'question':Question,'answer':Answer}}
# 并将注册信息保存到文本文件user.txt中
f = open('user.txt', 'a')
f.write(str(User_True_Info.get(i)))
f.write('\n')
f.close()
# 真实姓名1、E - mail地址、找回密码问题和答案进行注册
print("用户注册成功!")
def Login():
print("="*40)
print("登录:")
flag = 1
while flag:
name = input("请输入账户名:")
if name_list.count(name) == 0:
print("此账户不存在,请重新输入")
else:
flag = 0
password = input("请输入密码:")
# print(member_login_dict)
# {1: {'a': {'Name': 'a', 'Password': 'a'}}}
i = len(member_login_dict) + 1
member_str = str(member_login_dict[1])
index = member_str.rfind('Password')
index1 = len(password) + len('Password')
member_str1 = member_str[index + len('Password') + 4 :index + index1 + 4:]
if member_str1 == password:
print("登录成功!")
else:
print("密码输入错误!")
print("="*40)
# f = open("user.txt",'w')
# f.truncate()
# f.close()
Register()
Ture_Info()
Login()
整体程序还是写的比较简单的,首先是构思框架需要的功能,然后实现功能即可。
在最后验证密码时,笔者使用的是字符串的切片,可能比较冗余,但由于直接使用字典取出value值不太好整,干脆直接换了更简单的字符串切片操作。
如果想了解字符串切片,可以再看看笔者关于字符串切片的文章.