python之簡單登錄

簡單的登錄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()
簡單登錄
相關文章
相關標籤/搜索