python實現用戶登錄界面


 

要求

輸入用戶名密碼正確,提示登錄成功,

輸入三次密碼錯誤,鎖定賬戶。

實現原理:

創建兩個文件accout,accout_lock
accout記錄用戶名,密碼
accout
root  1qazxsw2
wxp qwerty
osadmin 123456

accout_lock記錄鎖定用戶,默認為空

代碼:
#!/use/bin/env python
#-*- coding:utf-8 -*-

import sys,os
import getpass
#os.system('clear')

i = 0

while i < 3:
    name = input("請輸入用戶名:")

    lock_file = open('account_lock','r+')
    lock_list = lock_file.readlines()

    for lock_line in lock_list:
         lock_line = lock_line.strip('\n')
         if name == lock_line:
             sys.exit('用戶 %s 已經被鎖定,退出' % (name))

    user_file = open('account','r')
    user_list = user_file.readlines()

    for user_line in user_list:
         (user,password) = user_line.strip('\n').split( )

         if name == user:
             j = 0
             while j < 3:
                  #passwd = getpass.getpass('請輸入密碼:')
                  passwd = input('請輸入密碼:')
                  if passwd == password:
                       print("用戶%s登錄成功" % name)
                       sys.exit(0)
                  else:
                       if j != 2:
                            print("用戶 %s 密碼錯誤,請重新輸入,還有 %d 次機會" % (name,3 - j ))
                  j += 1
             else:
                  lock_file.write(name + '\n')
                  sys.exit('用戶 %s 達到最大登錄次數,將被鎖定並退出' % name)
         else:
              pass
    else:
        if i != 2:
             print('用戶名%s 不存在,請重新輸入,還有 %d 次機會' % (name,3 - i))
    i += 1
else:
     sys.exit("用戶 %s 不存在,退出" % name)

lock_file.close()
user_file.close()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM