作業:編寫登陸接口
- 輸入用戶名密碼
- 認證成功后顯示歡迎信息
- 輸錯三次后鎖定
帳號文件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()
