標籤:程式 name 文法 ccf 提示 解鎖 inpu day01 round
今天看了一個Python的視頻,看完了day01,感覺挺容易的,因為自己在之前已經開始接觸Python,對與Python的基礎文法還是比較熟悉的,但有一些還是比較生疏生疏的,通過接觸作業,開始知道自己的水平有多高,file、字典等掌握的比較生疏一點。現在感覺要好好學,不能那麼心高氣傲了,不在認為Python是那麼簡單了。還是要腳踏實地地走!
下面的分享一下我寫的類比登入的流程圖及部分代碼:
#!/usr/bin/env python
import sys
username = input("請輸入使用者名稱:")
lock_file = open("lock.txt","r+") #開啟lock檔案,讀取檔案內容到lock_list中
lock_list = lock_file.readlines()
for lock_line in lock_list: #判斷輸入的使用者名稱是否存在於lock中,即鎖定
lock_line = lock_line.strip("\n")
if username == lock_line:
sys.exit("使用者%s已被鎖定,請聯絡管理員..." % username)
else:
userfile_file = open("userfile.txt","r+") #如果lock檔案中不存在該使用者,則判斷該使用者是否存在於userfile中
userfile_list = userfile_file.readlines()
for userfile_line in userfile_list:
userfile_line = userfile_line.strip("\n").split()
if username == userfile_line[0] : #判斷username是否存在與userfile中,如果存在,往下操作,如果不存在,執行else
i = 0
while i < 3:
passwd = input("請輸入密碼:") #提示使用者輸入密碼
if passwd == userfile_line[1]: #判斷密碼是否正確
input("welcome %s ..." % username) #如果密碼正確,輸出.....
sys.exit(0) #退出程式
else:
i += 1
print("密碼錯誤,您還有%d次機會輸入" % (3-i)) #如果密碼不正確,提示使用者剩餘輸入次數,只有三次機會
else:
lock_file.write("\n"+username) #如果使用者在三次內均未輸入正確,鎖定該使用者,提示使用者聯絡管理員進行解鎖
sys.exit("帳號%s已被鎖定,請聯絡管理員解鎖..." % username)
break
else: #如果使用者不存在,提示使用者不存在該使用者名稱,退出程式
sys.exit("不存在該使用者%s,請核查..." % username)
lock_file.close()
userfile_file.close()
流程圖
userfile.txt
readme.txt
2017-03-23
00:25:52
類比登入Python