1. 程式人生 > >python學習之路——第三彈 (作業篇第一題)

python學習之路——第三彈 (作業篇第一題)

image 操作 啟動程序 代碼 color 鎖定文件 文件 文件內容 數據

作業一:編寫登錄接口
1.輸入用戶名密碼
2.認證成功後顯示歡迎信息
3.輸錯三次後鎖定。

所需知識點 文件基本讀寫操作,循環,列表,字典

上面的作業題是在學習完數據類型和簡單的文件操作之後布置的,所以這個時間節點需要利用已有的知識完成。

作業一思路:

  輸入用戶名密碼----輸入用raw_input--有個地方存儲了用戶名和密碼,並且用戶名密碼一一對應--字典或者文件

  輸錯三次後鎖定--三次用循環--鎖定用存儲用戶名的方式--列表,字典,文件

  成功錯誤--判斷

所以整體代碼設計如下 :

  

#/usr/bin/env python
#coding:utf-8

‘‘‘
    1.輸入用戶名密碼
    2.認證成功後顯示歡迎信息
    3.輸錯三次後鎖定
‘‘‘ #輸入用戶名密碼 while True: #獲取所有用戶名和其密碼 userDict = {} with open(userLogin.txt,r) as f: for line in f.readlines(): L = line.strip(\n).split(,) userDict[L[0]] = L[1] #獲取所有被鎖定用戶名 userList = [] with open(blackList.txt,r) as f: for
line in f.readlines(): userList.append(line.strip(\n)) name = raw_input(用戶名 >>).strip() passwd = raw_input(密碼 >>).strip() if name in userList: print(這個賬號被鎖定了,請換個賬號重新登錄) continue else: if name not in userDict.keys():
print(用戶名不存在,請重新輸入賬號和密碼) continue else: i = 1 while i <= 4: if userDict[name] == passwd: print("歡迎登錄,%s"%name) break elif i < 4: passwd = raw_input(請重新輸入密碼,您還有%d次機會>>%(4-i)).strip() i += 1 if i ==4: print(密碼輸入錯誤超過3次,您的賬號已經被鎖定了,請重新啟動程序) #用戶賬號加入鎖定文件中 with open(blackList.txt,a+) as f: f.writelines(name+\n) break break

這樣文件菜單目錄結構如下

技術分享

文件樣例:

用戶名密碼文件內容:

xjw,1517
zjl,1516
gl,1515
xrf,1518

黑名單文件:

xjw
gl

以上就基本實現了登錄的用戶交互的界面,因為中間還沒涉及到類和方法,所以代碼有點冗余,希望之後在學習之後再做改進!

  

python學習之路——第三彈 (作業篇第一題)