Python之編寫登錄接口


作業:編寫登陸接口

  • 輸入用戶名密碼
  • 認證成功后顯示歡迎信息
  • 輸錯三次后鎖定

帳號文件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()

  

 


免責聲明!

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



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