登錄驗證,三次機會,如何做?
1. 一個用戶列表記錄合法密碼和用戶名,一個小黑屋列表記錄輸錯3次的用戶,
一個中間列表記錄所有用戶輸入,統計某個用戶是否輸錯3次
2. 通過 in 判斷一個元素是否在一個列表中,for循環把 輸入驗證hold住
#!/usr/bin/python3
__author__ = 'beimenchuixue'
__blog__ = 'http://www.cnblogs.com/2bjiujiu/'
def login(users_ku):
lock_list = [] # 鎖定用戶庫,3次登錄失敗進入的小黑屋
median = [] # 登錄失敗的錄入中間列表,如果用count數出3次,進入鎖定
while True:
name = input('輸入你的用戶名:')
psw = input('請輸入你的密碼:')
if name in lock_list: # 判斷用戶是否進入小黑屋
print('此賬號鎖定,不能再用此賬號登陸')
continue
if [name, psw] in users_ku: # 判斷用戶輸入的合法性
print('登錄成功')
break
else:
median.append(name) # 用戶名錄入
print('賬號或者密碼輸入錯誤,請重新輸入')
if median.count(name) == 3: # 同用戶3次登錄失敗進入的小黑屋
lock_list.append(name) # 進入小黑屋
if __name__ == '__main__':
# 用戶驗證密碼庫
users_ku = [['name1', 'psw1'], ['name2', 'psw2']]
login(users_ku)
滿足的需求:
1.用戶不同順序輸入都能抓住是否輸入3次
2.輸入錯誤3次不再允許登錄了
