python 使用者登入

2022-08-29 09:39:08 字數 3368 閱讀 9315

目的:實現使用者登入功能

具體實現:

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...