1. 程式人生 > >用戶登錄作業

用戶登錄作業

utf erp user this 空格 初始 you 變量 been

#Author LvZunhua
def login():
    with open(user,r,encoding =utf-8) as f: #打開用戶列表配置文件
        con = f.readlines()#把讀到的用戶按每行當做一個元素返回到一個列表中
    allname=[] #初始化一個用戶列表
    allpasswd=[]#初始化用戶密碼
    for i in range(0,len(con)): #獲取con列表的長度
        l=con[i]#獲取每一行的內容並放到變量中,方便下面分割獲取用戶名和密碼
        ls = l.split()#
把取到的每一行按空格分割成返回到一個列表中 allname.append(ls[0])#把每一行分割取到的用戶名追加到初始化的用戶列表中 allpasswd.append(ls[1]) #print(allname) #print(allpasswd) with open(lockname,r,encoding = utf-8) as f: lname=f.readlines() #打開鎖定用戶配置文件列表,並把取到的用戶名按每一行返回到一個列表中 comment-註釋、說明 for i in range(3):#
循環三次,三次輸入密碼錯誤鎖定用戶。 username = input(login user:)#讓用戶輸入用戶名,並獲取用戶名放到變量中 userpasswd = input(login passwd:)#獲取用戶的密碼 if username not in allname:#判斷用戶名是否在不在初始化用戶列表中 print(No this account!) elif (username+\n) in lname:#用戶名在鎖定的用戶列表中 print(your name has been locked! Please contact admin!
) else: passwd_index=allname.index(username)#用戶名正常,獲取用戶名在初始化列表中的索,用戶名和密碼在列表中的索引相同,根據索引判斷用戶名密碼是否正確 if userpasswd == allpasswd[passwd_index]: print (login success!!!) break else: print(password id error!!!) if i == 2:#用戶名正確,密碼不正確,第三次輸入密碼錯誤,打印錯誤信息,並把用戶鎖定。 print(Excessive passwd error,your account has been locked! please contact admin!) nf = open(lockname,a,encoding=utf-8) nf.write(username+\n) nf.close() login()

用戶登錄作業