python 初学习 模拟用户登陆

#!/usr/bin/env python#coding:utf-8'''    2017年8月19日  python 模拟用户登陆,连续失败次数超过3次永辉名被锁定    userfile 文件保存字典 用户名,和密码    sorryname 文件保存字典 登陆过的的用户名,登陆成功,值为0,登陆失败,值+1    当值大于等于3是,帐号被锁定,没法进行登陆'''import shelve# 私有属性,保存文件名__userfile = 'loginname.dat'__users = 'users'__sorryname = 'sorrylogin.dat'__sorry = 'sorryuser'#登陆功能def login(name,passwd):    userfile = shelve.open(__userfile)    users = userfile[__users]    sorryname = shelve.open(__sorryname)    sorry = sorryname[__sorry]    try:        if name in users:            #登陆成功            if passwd == users[name]:                sorry[name]=0                return '登陆成功'            else:   # 失败                if name in sorry:                    sorry[name]=sorry[name]+1                else:                    sorry[name]=1                return '密码错误'        else:            return '没有此用户,请注册'    finally:        sorryname[__sorry]=sorry        sorryname.close()if __name__ == "__main__":        #userfile = shelve.open('loginname.dat')    #users = {'fuzhentao':'123456','zhangsan':'456789','lisi':'147852'}    #userfile[__users]=users    #userfile.close()    '''sorryname = shelve.open(__sorryname)    sorryuser={}    sorryname[__sorry]=sorryuser    sorryname.close()'''    while True:        sorryname = shelve.open(__sorryname)        sorry = sorryname[__sorry]        name = input('请输入用户名:')        passwd = input('请输入密码:')        if name in sorry and sorry[name]>=3:            print("帐号被锁定")        else:            print(login(name,passwd))
相关文章
相关标签/搜索