作業:編寫登陸接口
- 輸入用戶名密碼
- 認證成功后顯示歡迎信息
- 輸錯三次后鎖定
帳號文件account.txt內容如下:
liuyueming 123
zhangsan 123
lisi 123
鎖文件account_lock.txt默認為空
一,針對用戶名和密碼有三次機會,假如三次均輸入錯誤,鎖定
流程圖
代碼如下
#!/usr/bin/python #_*_ coding:utf-8 _*_ import os,getpass,sys i = 0 while i < 3: name = raw_input('請輸入用戶名:') lock_file = open('account_lock.txt','r+') lock_list = lock_file.readlines() for lock_line in lock_list: if name == lock_line: sys.exit('用戶%s已經鎖定' %name) user_file = open('account.txt','r') user_list = user_file.readlines() for user_line in user_file: (user,password) = user_line.strip.split() if name == user: j = 0 while j < 3: passwd = getpass.getpass('請輸入密碼:') if passwd = password: print ('登錄成功%s'%name) sys.exit(0) else: if j != 2: print('用戶 %s 密碼錯誤,請重新輸入,還有 %d 次機會' % (name,2 - j)) j+=1 else: lock_file.write(name + '\n') sys.exit('用戶 %s 達到最大登錄次數,將被鎖定並退出' % name) else: pass else: if i !=2: print('用戶 %s 不存在,請重新輸入,還有 %d 次機會' % (name,2 - i)) i+=1 else: sys.exit('用戶 %s 不存在,退出' % name) lock_file.close() #關閉LOCK文件 user_file.close()