您的位置:首页 > 其它

写了一个作业 实现用户登录和注册的脚本,初学者写的不好,记录一下我的学习经历

2017-09-18 14:54 615 查看
import pickle,getpass
def usr_date():
try:
with open('usr_date.pkl','rb') as f:
return pickle.load(f)
except EOFError:
return None

def update_usr(usr_dic):
with open('usr_date.pkl','wb') as f:
pickle.dump(usr_dic,f)

def register():
'注册'
usr_dic = {} #创建了一个空字典,等带传进去用户名和密码
usr_name = input('请输入用户名')
open_date = usr_date() if usr_date() else {}
if usr_name in open_date.keys():
print('用户已存在,请登录')
return False
usr_password = input('请输入你的密码:')
[usr_name] = usr_password #空字典接收到用户输入的名字和密码
update_usr(usr_dic) #把字典写进文件,并且用pickle保存
return print('注册成功')

def Sign_in():
'登录'
cont = 0
while cont<3:
usr_name = input('请输入你的用户名:')
open_date = usr_date() if usr_date() else {}
if usr_name not in open_date.keys():
pass
usr_password = getpass.getpass('请输入你的密码:')
if usr_password != open_date.get(usr_name):
print('用户名或密码错误,请从新填写')
cont += 1
if cont == 3: #判断如果cont=3 证明用户已经错误三次,然后跳出循环
print("输入三次失败,请从新选择登录")
else:
print('登陆成功')
return True

def login_index():
while True:
usr = input('1.注册 2.登录 任意键退出:')
if usr == '1':
register()
elif usr =='2':
Sign_in()
else:
break
login_index()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐