python學習之路——第三彈 (作業篇第一題)
阿新 • • 發佈:2017-06-03
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: forline 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學習之路——第三彈 (作業篇第一題)