簡單的登錄ide
要求:spa
1.用戶名輸錯3次,系統退出code
2.密碼輸錯3次,帳號被禁用blog
3.使用文件操做知識ip
流程圖:input
項目代碼:it
1 def login(): 2 i=0 3 while i <3 : 4 name = input("username:") 5 password = input('password:') 6 name_txt=open('uname.txt','r') 7 for line in name_txt.readlines(): #循環用戶文件 8 (uname,passwd,lock) = line.strip('\n').split()#提取用戶名,密碼,跟鎖信息 9 if uname == name: 10 if lock == 'true': 11 f = 0 12 while f < 3: 13 if passwd != password: 14 if f == 2: 15 print('帳號/密碼錯誤過多,帳號已被鎖定,請聯繫管理員') 16 old = uname + ' ' + passwd + ' ' + lock + '\n' #組合原來的用戶信息 17 new_lock = 'fales' 18 new = uname + ' ' + passwd + ' ' + new_lock + '\n' #組合新的用戶信息 19 d_f = open('uname.txt', 'r') 20 d = d_f.read().replace(old, new) #讀取舊的用戶信息,並替換 21 d_f.close() 22 print(d) 23 g_f = open('uname.txt', 'w+') #以寫讀方式打開原有文件(若是以爲不保險,能夠將老文件備份,寫入新的文件中) 24 g = g_f.write(d) #寫入新的用戶信息到文件 25 g_f.close() 26 name_txt.close() 27 exit(1) 28 else: 29 f += 1 30 print('帳號/密碼錯誤,還剩%s次' % (3 - f)) 31 password = input('password:') #讓用戶從新輸入密碼 32 else: 33 print('Welcom') #登錄成功 34 name_txt.close() 35 exit(0) 36 # else: 37 # print('帳號/密碼錯誤過多,帳號已被鎖定,請聯繫管理員') 38 # name_txt.close() 39 # exit(1) 40 else: 41 print('帳號已被鎖定,請聯繫管理員') 42 name_txt.close() 43 exit(1) 44 else: 45 pass #按行搜索用戶,沒有搜索到就PASS讓循環繼續 46 else: 47 i += 1 48 if i == 3: 49 print("帳號/密碼錯誤次數過多,已被鎖定,請聯繫管理員")#帳號不存在(防止人刷帳號,因此提示爲這個) 50 name_txt.close() 51 exit(1) 52 else: 53 print("帳號/密碼有誤,請從新輸入") 54 continue 55 if __name__ == '__main__': 56 login()