1. 程式人生 > >作業:編寫登入介面

作業:編寫登入介面

    1. 讓使用者輸入使用者名稱密碼     2. 認證成功後顯示歡迎資訊     3. 輸錯三次後退出程式 升級要求:     1. 可以支援多個使用者登入(提示,通過列表存多個賬戶資訊)     2. 使用者三次認證失敗後,退出程式,再次啟動程式嘗試登入時,還是鎖定狀態(提示:需把使用者鎖定的狀態存到檔案裡)

'''
基礎要求:
    1. 讓使用者輸入使用者名稱密碼
    2. 認證成功後顯示歡迎資訊
    3. 輸錯三次後退出程式
升級要求:
    1. 可以支援多個使用者登入(提示,通過列表存多個賬戶資訊)
    2. 使用者三次認證失敗後,退出程式,再次啟動程式嘗試登入時,還是鎖定狀態(提示:需把使用者鎖定的狀態存到檔案裡)
'''

user_info = {
    'Catalog_Spri' : {'user_pwd' : 'C.Spridsb', 'times' : 0},
    'Egon' : {'user_pwd' : 'egondsb', 'times' : 0},
    'Alex' : {'user_pwd' : 'alexdsb', 'times' : 0},
}

count = 1
while count <= 3:
    name = input('Please input your account>>:')
    pwd = input('Please input your password>>:')
    f = open('lock.txt', mode='r+', encoding='UTF-8')
    is_lock = f.readlines()
    if name in is_lock:
        print('Your account has been locked, please try again later.')
        break
    if name in user_info and pwd == user_info[name]['user_pwd']:
        print('Welcome to the new world.')
        user_info[name]['times'] = 0
        break
    if (name not in user_info) or pwd != user_info[name]['user_pwd']:
        print('Your account or password was wrong.')
        if name in user_info:
            user_info[name]['times'] += 1
            if user_info[name]['times'] == 3:
                f.write(name)
    f.close()
    count += 1