Python 實現用戶註冊 登錄
不是爬蟲 ,這裡主要是練習 下考慮問題的思路。
用戶輸入錯誤密碼 3 次,將鎖住,提示無法登陸。
參考文檔:python---用戶登錄程序 - clv - 博客園
初學 python 之 用戶登錄實現過程
盜圖哈哈,出處在這裡:python Day1作業:用戶三次登陸鎖定-呆若-ChinaUnix博客
第一步: 我將用戶名和密碼存在了F盤的EXCEL里,事實上肯定不會存這裡的咯。只是練習下讀取python讀取excel表格的操作。
思考:用戶名與密碼是成對出現的 ,如果轉換成dict格式的話,就非常容易辦了。
參考文檔:Python+Selenium進行UI自動化測試項目中,常用的小技巧1:讀取excel表,轉化成字典(dict)輸出 - 小石頭tester - 博客園
# encoding=utf-8import xlrdimport csv# 輸入用戶名與密碼 知識點;put 與 raw_input的區別username= raw_input("plaese input your username:")password = raw_input("please input your password:")password = int(password)# 讀取F盤下的 excel表格 知識點:文件的 操作 # 注意反義字元「\」file_path= "E:\test_user\user_name.xlsx"sheetname ="Sheet1"dataresult = []data_xlsl = xlrd.open_workbook(file_path)table = data_xlsl.sheet_by_name(sheetname)for i in range (0,table.nrows): dataresult.append(table.row_values(i))# 將list轉換成dict 重點dict_result = []for i in range(1,len(dataresult)): temp = dict(zip(dataresult[0],dataresult[i])) # dict的zip方法 dict_result.append(temp)
接下來就是邏輯判斷了,難點就是,控制並記錄用戶輸錯密碼的次數,大於3次就不給輸了!!!
if password==news.values()[0] and username==news.values()[1]:#values()獲取字典元素 print "login in successful" if username !=news.values()[1] and password == news.values()[0]: count = 0 # 計數 if username ==news.values()[1] and password != news.values()[0]: print ("your password is not correctly") for i in range (0,2): count=count+1 password2 =raw_input("please input your password again:") password2=int(password2) # 這個需要強制轉換成int型,我也心累~~~~ if password2 == news.values()[0]: print ("welcome to login") break else: print ("password error") if count == 2: print ("password error more than 3 times")
總結:相當簡陋的代碼,測試時bug太多。只是記錄下思維方向以及 for循環的練習。
還有,對於excel表格的操作,並將數據轉換成dict的方法,我覺得灰常有用的奧。
無意間發現了一位大神寫的,代碼的思維比較嚴謹,直觀。
貼上鏈接:python 登錄介面三次鎖定 - 朱敬志 - 博客園
推薦閱讀:
※寫flowpy的動機其實和scala有點關係
※再也不用擔心網頁編碼的坑了!
※【Python3網路爬蟲開發實戰】後續章節
※從零開始的python世界的闖蕩之視頻學習篇 第四話 判斷語句與循環語句
※梳理Python基本數據類型