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))
相關文章
相關標籤/搜索