Python學習之路一

2021-08-14 13:25:31 字數 2247 閱讀 1615

要求如下:

編寫乙個登入介面

1、輸入使用者名稱和密碼

2、認證成功後提示歡迎資訊

3、輸錯三次後鎖定

流程圖如下:

程式分析:

1、最多迴圈三次,若超過三次則鎖定

2、鎖定的賬號記錄到lock文件中

3、賬號、密碼輸入錯誤三次都進行鎖定

4、賬號密碼正確直接提示登入成功,並退出程式

5、若賬號被鎖定則直接退出程式

accounts.txt檔案中內容如下:

account_lock.txt檔案中的內容如下:

(使用as登入時,就會提示該使用者名稱已被鎖定)

**如下:

#/use/bin/python3

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

account_file = "accounts.txt" #記錄使用者名稱和密碼的檔案

lock_file = "account_lock.txt" #記錄鎖定的賬號檔案

i = 0 #迴圈計數器,用於統計輸入的次數

while i < 3:

username = input("please enter username:") #輸入使用者名稱

username = username.strip()

if len(username) == 0: #判斷使用者名稱是否為空

print("the username can not be empty!") #使用者名為空時,給出提示

loacf = open(lock_file) # 輸入使用者名稱後,開啟lock檔案,檢查此使用者是否被lock了

for line in loacf.readlines():# 迴圈lock檔案

if username == line.strip("\n"): # 去掉換行符

print("the user %s is lock!" %username) #提示使用者已被鎖定

exit() #退出迴圈程式

password = input("please enter password:") #輸入密碼

if len(password) == 0:

print("the password can not be empty!") #密碼為空時,給出提示

use_file = open(account_file,"r") # 開啟使用者賬號檔案

flag = false

for line in use_file.readlines():

user,pwd = line.strip("\n").split() # 去掉每行多餘的\n並把這一行按空格分成兩列,分別賦值為user,pwd兩個變數

if username == user and password == pwd: # 判斷使用者名稱和密碼是否都能匹配上

print("hello,welcome %s" % username)

flag = true # 匹配上就變為true

break # 然後就不用繼續迴圈了,直接跳出

use_file.close() # 關閉檔案

if flag == false: # 如果flag還為false,則還需要繼續迴圈

print("sorry,the username:%s or password:%s is unmatched!" %(username,password)) #提示使用者名稱或密碼不匹配

i += 1 # 計數器加1

else:

print("welcome login my learning system!") #提示成功登入

break # 使用者成功登入,退出迴圈程式

else:

print("your account %s is lock!" % username)

g = open(lock_file,"a")

g.write(username) # 把lock的使用者名稱追加到lock檔案中

g.write("\n") # 插入斷行

g.close() # 關閉檔案

Python學習之路(一)

1 物件導向的程式設計思維。2 運用模組進行程式設計。3 遊戲程式設計。4 計算機 在開始搜尋欄中輸入idle 來啟動python gui 當看到 提示符即表示python已經準本好了。alt n 下一條指令 alt p 上一條指令 ctrl n 新建程式設計視窗 f5執行 六 python語法 列...

Python學習之路一

一 注釋 當行注視 被注釋內容 多行注釋 被注釋內容 二 pyc檔案 執行python 時,匯入了其他的 py 檔案,那麼,執行過程中會自動生成乙個與其同名的 pyc 檔案,該檔案就是python直譯器編譯之後產生的位元組碼。ps 經過編譯可以產生位元組碼 位元組碼通過反編譯也可以得到 python...

Python學習之路(一)

python字串 在python中,字串可加 可乘。str1 hust str2 whr str3 str1 str2 str4 hust 3 輸出結果為str3 hustwhr,str4 husthusthust python中的乘除法 python中 為乘方運算子,2 4為2的4次方,5 5為5...