python開發基礎例題

來源:互聯網
上載者:User

標籤:python   掉分行符號   col   utf-8   lis   pytho   lin   狀態   匹配   

編寫登陸介面

基礎需求:

  • 讓使用者輸入使用者名稱密碼
  • 認證成功後顯示歡迎資訊
  • 輸錯三次後退出程式

 

升級需求:

  • 可以支援多個使用者登入 (提示,通過列表存多個賬戶資訊)
  • 使用者3次認證失敗後,退出程式,再次啟動程式嘗試登入時,還是鎖定狀態(提示:需把使用者鎖定的狀態存到檔案裡)
    #!/usr/bin/python3.6#_*_ coding:utf-8 _*_import sys,os,getpassos.system(‘cls‘)i = 0while i < 3:                                                        #只要使用者登入異常不超過3次就不斷迴圈    name = input("請輸入使用者名稱:")    lock_file = open(‘account_lock.txt‘,‘r+‘)                       #當使用者輸入使用者名稱後,開啟LOCK 檔案 以檢查是否此使用者已經LOCK了    lock_list = lock_file.readlines()    for lock_line in lock_list:                                     #迴圈LOCK檔案         lock_line = lock_line.strip(‘\n‘)                           #去掉分行符號        if name == lock_line:                                       #如果LOCK了就直接退出            sys.exit(‘使用者 %s 已經被鎖定,退出‘ % name)      user_file = open(‘account.txt‘,‘rb‘)                             #開啟帳號檔案    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:                                            #只要使用者密碼異常不超過3次就不斷迴圈                passwd = getpass.getpass(‘請輸入密碼:‘)            #輸入隱藏密碼                if passwd == password:                              #密碼正確,提示歡迎登入                    print(‘歡迎登入管理平台,使用者%s‘ % name)                            sys.exit(0)                                     #正常退出                else:                    if j != 2:                                      #j=2時,是最後一次機會,不用在提示還剩餘0次機會了                        print(‘使用者 %s 密碼錯誤,請重新輸入,還有 %d 次機會‘ % (name,2 - j))                j += 1                                              #密碼輸入錯誤後,迴圈值增加1            else:                lock_file.write(name + ‘\n‘)                        #密碼輸入三次錯誤後,將該使用者追加到LOCK檔案                sys.exit(‘使用者 %s 達到最大登入次數,將被鎖定並退出‘ % name)        else:            pass                                                    #當使用者沒匹配時,跳過並繼續迴圈    else:        if i != 2:                                                  #i=2時,是最後一次機會,不用在提示還剩餘0次機會了            print(‘使用者 %s 不存在,請重新輸入,還有 %d 次機會‘ % (name,2 - i))    i += 1                                                          #當使用者輸入錯誤時,迴圈值增加1else:    sys.exit(‘使用者 %s 不存在,退出‘ % name)                         #使用者輸入三次錯誤後,異常退出           lock_file.close()                                                   #關閉LOCK檔案user_file.close()                                                   #關閉帳號檔案
    View Code

     


python開發基礎例題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.