python編寫登入介面(第一天)

2022-09-03 07:24:12 字數 3299 閱讀 9418

作業:編寫登入介面

針對此例項書寫內容具體如下:

賬戶檔案account.txt內容如下:

tamir  123

test1  123

test2  123

test3  123

賬戶鎖定檔案account_lock.txt預設為空

針對賬號檔案(account.txt)裡的使用者進行判斷並鎖定,針對使用者和密碼各有三次錯誤重試機會。

1.流程圖如下:

**如下:

1

#-*- coding:utf-8 -*-2#

author:steven kang34

import os,sys,getpass #

匯入os,sys,getpass 模組

5 u = 0 #

使用者的迴圈次數

6while u < 3:

7 username = input("

請輸入您的使用者名稱:

") #

使用input 讓使用者輸入並賦值給username變數

8 lock_file = open('

account_lock.txt

','r+

') #

開啟account_lock檔案,許可權是讀取更新,並賦值給lock_f變數

9 lock_list = lock_file.readlines() #

使用.readlines的方法逐行讀取account_lock檔案,並賦值給lock_list變數

1011

for lock_line in lock_list: #

使用for迴圈讀取account_lock的內容

12 lock_line = lock_line.strip('

\n') #

使用.strip()的方法去點換行符

13if username ==lock_line:

14print('

' % username) #

如果存在列印輸出

15 sys.exit(1) #

跳出迴圈

16 user_file = open('

account.txt

','r

') #

開啟account檔案,許可權是讀取更新,並賦值給user_f變數

17 user_list = user_file.readlines() #

使用.readlines的方法逐行讀取account檔案,並賦值給user_list變數

18for user_line in user_list: #

使用for迴圈讀取account的內容

19 (user,passwd) = user_line.strip('

\n').split() #

分別獲取賬號和密碼資訊

20if username == user: #

使用if判斷使用者輸入的使用者是否在normal_user中存在

21 p = 0 #

輸入密碼的迴圈次數

22while p < 3: #

只要使用者登入異常不超過3次就不斷迴圈

23 password = getpass.getpass('

請輸入您的密碼:

') #

使用getpass模組的.getpass方法讓使用者輸入密碼(輸入的時候不會顯示)

24if password == passwd: #

使用if判斷使用者輸入的密碼在normal_user中是否存在(相等)

25print('

歡迎 %s 登入系統

' %username) #

使用者名稱密碼全部相等(存在)列印歡迎登入資訊

26 sys.exit(0) #

跳出迴圈

27else:28

if p != 2:

29print('

對不起,%s 的密碼錯誤,請重新輸入,您還有 %d 次機會

'%(username,2 -p))

30 p += 1 #

密碼輸入錯誤後,迴圈值增加1

31else

:32 lock_file.write(username + '

\n') #

使用者名稱密碼輸入次數超過3次的使用者新增到account_lock檔案中33#

lock_f.write('%s \n' %username)

34 sys.exit('

'%username)

35else:36

pass

#當使用者沒匹配時,跳過並繼續迴圈

37else:38

if u != 2: #

i=2時,是最後一次機會,不用在提示還剩餘0次機會了

39print('

對不起,%s 輸入錯誤,請重新輸入,您還有 %d 次機會

' %(username, 2 -u))

40 u += 1 #

當使用者輸入錯誤時,迴圈值增加1

41else

:42 sys.exit('

因為您的錯誤輸入,程式已經退出,請重新執行

') #

使用者輸入三次錯誤後,異常退出

43 lock_f.close() #

關閉lock_f檔案

Python 學習第一天

今天在酷殼網上看了一篇很受啟發的文章 程式設計師技術練級攻略 介紹了乙個程式設計師從啟蒙入門,高階加深,到高階深入,所需要掌握的技術和應該看的書,從今天開始希望乙個星期能把python學會,當然肯定是皮毛了。python3.x之前學習的 學習python的 照著上面的例子敲了一下,發現第乙個就錯了,...

Python學習第一天

大綱 一,python版本的選擇 2.7.x和3.4.x 二,直譯器 編譯器 編輯器的介紹 三,環境變數配置 windows和linux 四,pycharm安裝及屬性配置 windows和linux 五,第乙個程式 hello,moocie!為什麼選擇python?python是一種物件導向 解釋型...

python的第一天

一般linux和mac電腦都有帶python,注意不要覆蓋以前的python版本,linux有的工具是python寫的,覆蓋了原來的可能導致系統出問題。1.cd到原始碼目錄 configure prefix usr local python27 把你要安裝的版本放在 usr local python...