Pythong實現使用者密碼登入,三次錯誤之後鎖定

2022-09-11 19:48:16 字數 1931 閱讀 1235

通過python實現使用者名稱密碼登入:

1. 使用者輸入使用者名稱密碼;

2. 認證成功後顯示歡迎;

3. 密碼三次輸入錯誤後鎖定此帳號;

4. 提示使用者還有幾次機會。

# author:dominic zhang

import sys

def main():

"""主函式

"""count = 0

#初始化使用者名稱和密碼

_username = '

aaa'

_password = '

123'

# 建立並讀取lock_file。txt檔案

open(

'lock_file.txt

', 'a'

) f = open('

lock_file.txt

', 'r+'

) lock_list =f.readlines()

f.close()

while

true:

username = input("

請輸入使用者名稱:")

# 與鎖定名單中的使用者名稱進行對比

if username ==_username:

for lock_line in

lock_list:

lock_line = lock_line.strip('\n'

)

if username ==lock_line:

print(

'' %username)

sys.exit()

# 如果使用者名稱不在鎖定名單,則輸入密碼

while count < 3

: password = input('

請輸入密碼:')

if username == _username and password ==_password:

print(

'歡迎%s

' %username)

sys.exit()

else

: print(

'賬號與密碼不匹配,請重新輸入!')

# 記錄密碼輸錯的次數

count += 1

if count != 3

: print(

'您還有%d次機會!\n

' % (3-count))

# 密碼輸入錯誤超過三此,則將此賬號鎖定,並寫入鎖定名單裡。

else

: print(""

) f = open('

lock_file.txt

', 'w+'

)

lock = ['

%s' %username]

f.writelines(

lock

) f.close()

sys.exit()

else

: print(

'使用者名稱不存在,請輸入正確的使用者名稱\n')

if __name__ == '

__main__':

main()

程式執行結果如下: 

請輸入使用者名稱:asd

使用者名稱不存在,請輸入正確的使用者名稱!

請輸入使用者名稱:aaa

請輸入密碼:asd

賬號與密碼不匹配,請重新輸入!

您還有2次機會!

請輸入密碼:acv

賬號與密碼不匹配,請重新輸入!

您還有1次機會!

Django實現使用者登入

今天的文章基於之前做的配置,實現乙個具體的功能demo 登入。在login的templates目錄下建立兩個模板,分別是login.html和home.html,當使用者未登入時,跳轉到login.html頁面,登陸成功或者登入狀態,跳轉到home.html。url的配置主要有兩個,django d...

Session實現使用者登入

前端介面 複製 一 登入驗證 1 將使用者輸入的使用者名稱和密碼與資料庫裡面的使用者名稱密碼進行比對。2 建立user物件,設定使用者名稱和密碼。3 建立session物件,儲存user物件。通過getsession 的setattribute 儲存乙個user物件。4 登入成功,實現頁面跳轉。二 ...

Spring Security實現使用者登入許可權管理

主要工作有 1 認證 判斷使用者名稱和密碼是否正確 2 授權 判斷使用者是否有許可權執行某些操作 接下來是實現的步驟 匯入spring.security對應jar包。在pom.xml中標籤下新增如下 org.springframework.security spring security web 5...