目的:實現使用者登入功能
具體實現:
1.資訊從資料庫匯出
2.賬號密碼驗證
3.可以轉入註冊
4.註冊資料傳入資料庫
5.註冊非空唯一驗證
6.失敗三次重新進入登入介面
**:
#匯入資料庫函式
import
pymysql
#匯入正則
importre#
使用者登入
class
usre_login():
#獲得資料庫物件
def__init__
(self):
#獲得資料庫鏈結物件
self.mysql_account = pymysql.connect('
localhost
','root
','123
','user_info
') #
ip位址,賬號,密碼,庫名
#獲得資料庫游標物件
self.mysql_cur =self.mysql_account.cursor()
#使用者登入函式
deflogin(self):
while
true:
print('''
使用者登入
1.登入
2.註冊
''')
choose=input('
選擇[輸入序號]:>> ')
#登入if choose=='1'
:
print('
*****==登入*****=')
#輸入賬號
account = input('
請輸入賬號[10位以內字母]:')
#賬號存在驗證
#sql 查詢語句
sql_ver_account = "
select * from account_password where account=(\'\')
".format(account)
#執行語句
self.mysql_cur.execute(sql_ver_account)
#返回全部資料
user_info=self.mysql_cur.fetchall()
if user_info ==():
input(
'賬號不存在,任意鍵返回註冊')
else
: number =0
#限定三次
while number<3:
#輸入密碼
password = input('
請輸入密碼[6位數字]:')
#sql 查詢語句
sql_ver_account = "
select * from account_password where account=(\'\') and password=()
".format(account,password)
#執行語句
self.mysql_cur.execute(sql_ver_account)
#返回全部資料
user_info=self.mysql_cur.fetchall()
if user_info ==():
number += 1input(
'密碼錯誤,任意鍵重新輸入,還有次機會
'.format(4-number))
continue
else
: input(
'登入成功')
break#註冊
elif choose=='2'
:
while
true:
print('
*****==註冊*****=')
#輸入賬號
account = input('
請輸入賬號[10位以內字母]:')
#賬號唯一驗證:
#sql 查詢語句
sql_ver_account = "
select * from account_password where account=(\'\')
".format(account)
#執行語句
self.mysql_cur.execute(sql_ver_account)
#返回全部資料
user_info=self.mysql_cur.fetchall()
if user_info ==():
#輸入密碼
password = input('
請輸入密碼[6位數字]:')
#賬號正規表示式
ver_account = re.compile(r"
^[a-za-z]$")
#密碼正規表示式
ver_password = re.compile(r"
^\d$")
#驗證賬號和密碼 失敗返回none
if ver_account.match(account) and
ver_password.match(password):
#賬號密碼合格儲存資料庫
#sql 增加語句
sql_info = '
insert into account_password values(\'\',)
'.format(account,password)
#執行語句
self.mysql_cur.execute(sql_info)
#提交資料庫
self.mysql_account.commit()
#關閉資料庫
self.mysql_account.close()
input(
'註冊成功,任意鍵返回登入')
break
else
: input(
'輸入不正確,任意鍵返回重新輸入')
continue
else
: input(
'賬號重複,任意鍵返回')
break
else
: input(
'輸入不正確,任意鍵重新輸入')
if__name__ =='
__main__':
#例項化物件
login_user =usre_login()
login_user.login()
問題: 1.**重複率有點高
2.sql語句相關問題
python使用者登入
coding utf 8 import wx class myframe wx.frame def init self,parent,id wx.frame.init self,parent,id,title 使用者登入 pos 100,100 size 400,300 panel wx.panel...
Python 使用者登入
作業需求 1.支援多個使用者登陸 2.使用者輸入密碼錯誤三次後退出程式 3.重新啟動程式後,鎖定賬號無法登入 分析 1.輸入賬號,檢視賬號是否在鎖定檔案 lock list.txt 中,如果在則退出程式 2.如果賬號存在,則判斷密碼是否正確,如果密碼正確,則登入成功,密碼不對,提示再次輸入,超過三次...
python案例 使用者登入
要求 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸錯三次後鎖定 1 usr bin env python 2 coding utf 8 3 4 5 使用者登陸功能例項 6 1 獲取db檔案中所有的使用者資訊 7 2 比較使用者資訊 8 如果使用者名稱不存在,則直接退出 9 如果使用者名稱存在 10...