用戶登錄作業
阿新 • • 發佈:2017-06-30
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()
用戶登錄作業