婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python中tkinter的用戶登錄管理的實現

Python中tkinter的用戶登錄管理的實現

熱門標簽:南京銷售外呼系統軟件 地圖標注的意義點 上海機器人外呼系統哪家好 蓋州市地圖標注 地圖制圖標注位置改變是移位嗎 地圖標注微信發送位置不顯示 房產電銷外呼系統 浙江電銷卡外呼系統好用嗎 315電話機器人廣告

內容

編寫一個用戶登錄管理程序,設計窗體的布局,制定密碼規則和驗證碼規則。要求使用 Python 標準庫 tkinter 編寫基于GUI 的用戶登錄窗體。通過該窗體,用戶輸入用戶名、密碼和驗證碼等信息,確認登錄后需要判斷用戶信息是否合法,并彈出對應的反饋信息。通過判斷用戶是否在用戶信息中,以及輸入密碼是否與用戶信息文件中用戶名所對應的密碼是否相同,來判斷用戶是否合法。此外,新用戶還可以進行注冊,注冊需要輸入用戶名、密碼、手機號和身份證號等信息。注冊時密碼需要遵循一定規則(長度不小于8且含有數字、字母和特殊字符),注冊后將用戶信息存儲到文件中,更新用戶信息文件。步驟

代碼

from tkinter import *
from tkinter import messagebox
import os
import xlrd
from xlutils.copy import copy

login=Tk()
login.title('登錄界面')
# 設計窗口大小
login.geometry('210x200')

# 設計GUI用戶登錄窗體
Label(login,text="用戶登錄").grid(row=0,column=0,columnspan=2)
Label(login,text="用戶名").grid(row=1,column=0)
name=Entry(login)
name.grid(row=1,column=1)
Label(login,text="密碼:").grid(row=2,column=0)
passWord=Entry(login,show='●')
passWord.grid(row=2,column=1)
Label(login,text="驗證碼:").grid(row=3,column=0,sticky=E)
verifyCode=Entry(login)
verifyCode.grid(row=3,column=1)

# 判斷用戶是否在用戶信息.xls文件中
def isInExcel(data):
    filename = "用戶信息.xls"
    excel = xlrd.open_workbook(filename, encoding_override="utf-8")
    sheet = excel.sheets()[0]

    sheet_row_mount = sheet.nrows # 行數
    sheet_col_mount = sheet.ncols # 列數

    sheet_name = []
    # 所有用戶名信息
    for x in range(1, sheet_row_mount):
        y = 0
        sheet_name.append(sheet.cell_value(x, y))

    for x in sheet_name:
        # 找到用戶名
        if (data == x):
            # 已有用戶
            return 1
            break;
    # 未注冊用戶
    return -1

# 用戶存在時,判斷密碼是否正確
def isPasswordDirect(data,passWord):
    filename = "用戶信息.xls"
    excel = xlrd.open_workbook(filename, encoding_override="utf-8")
    sheet = excel.sheets()[0]

    sheet_row_mount = sheet.nrows # 行數
    sheet_col_mount = sheet.ncols # 列數

    sheet_name = []
    # 所有用戶名信息
    for x in range(1, sheet_row_mount):
        y = 0
        sheet_name.append(sheet.cell_value(x, y))
    sheet_passWord=[]
    # 所有密碼信息
    for x in range(1, sheet_row_mount):
        y = 1
        sheet_passWord.append(sheet.cell_value(x, y))

    for i in range(len(sheet_name)):
        if(data==sheet_name[i]):
            # 記錄用戶名在數組中的位置
            record=i
            break

    for i in range(len(sheet_passWord)):
        if(passWord==sheet_passWord[i]):
            # 判斷用戶名位置與密碼位置是否相同
            # 以及密碼是否與用戶信息中的密碼一致
            if(i==record):
                # 密碼正確
                return 1
                break
    # 密碼錯誤
    return -1

def successful():
    # 判斷用戶名不存在
    if (isInExcel(name.get())==-1):
        messagebox.showerror(title='wrong', message='用戶不存在,請注冊')
    # 密碼不正確
    elif (isPasswordDirect(name.get(),passWord.get())==-1):
        messagebox.showerror(title='wrong', message='密碼不正確')
    # 驗證碼位數不正確
    elif len(verifyCode.get())!=4:
        messagebox.showerror(title='wrong',message='驗證碼應為4位')
    else:
        messagebox.showinfo(title='successful',message='登錄成功')
Button(login, text='發送驗證碼').grid(row=4, column=0, columnspan=3)
Button(login,text='登錄',command=successful).grid(row=5,column=0,columnspan=3)

# 設計用戶注冊GUI界面
def registereds():
    registered=Tk()
    registered.title('registered')
    registered.geometry('230x185')
    Label(registered, text='用戶注冊').grid(row=0, column=0, columnspan=2)
    Label(registered, text='用戶名:').grid(row=1, column=0, sticky=E)
    names = Entry(registered)
    names.grid(row=1, column=1)
    Label(registered, text='密碼:').grid(row=2, column=0, sticky=E)
    passwds = Entry(registered, show='●')
    passwds.grid(row=2, column=1)
    Label(registered, text='確認密碼:').grid(row=3, column=0)
    repasswd = Entry(registered, show='●')
    repasswd.grid(row=3, column=1)
    Label(registered, text='手機號:').grid(row=4, column=0, sticky=E)
    phonenum = Entry(registered)
    phonenum.grid(row=4, column=1)
    Label(registered, text='身份證號:').grid(row=5, column=0)
    man = Entry(registered)
    man.grid(row=5, column=1)

    # 判斷是否含有特殊符號
    def teshufuhao(input_psd):
        string = "~!@#$%^*()_+-*/>,.[]\/"
        for i in string:
            if i in input_psd:
                return True
        return False

    def registeredes():
        # 密碼長度小于8
        if len(passwds.get())  8:
            messagebox.showerror(title='wrong', message='注冊失敗,密碼不應少于8位')
        # 密碼不同時含有數字、字母和特殊符號
        elif not (any([x.isdigit() for x in passwds.get()]) and any([x.isalpha() for x in passwds.get()]) and teshufuhao(
                passwds.get())):
            messagebox.showerror(title='wrong', message='注冊失敗,密碼格式錯誤,必須包括字母和數字以及特殊符號')
        # 兩次密碼輸入不一樣
        elif passwds.get() != repasswd.get():
            messagebox.showerror(title='wrong', message='注冊失敗,兩次密碼不相同')
        # 手機號不正確
        elif not (phonenum.get().isdigit() and len(phonenum.get()) == 11):
            messagebox.showerror(title='wrong', message='注冊失敗,請輸入正確的11位手機號')
        # 身份證號不正確
        elif len(man.get()) != 18:
            messagebox.showerror(title='wrong', message='注冊失敗,請輸入正確的18位身份證號')
        else:
            messagebox.showinfo(title='successful', message='注冊成功!')
            # 將新用戶信息存入用戶信息文件
            excel = xlrd.open_workbook('用戶信息.xls')
            sheet = excel.sheets()[0]

            nrow = sheet.nrows # 文件行數

            wb = copy(excel)
            w_sheet = wb.get_sheet(0)
            # 從數據下一行開始寫入新用戶信息
            w_sheet.write(nrow, 0, names.get())
            w_sheet.write(nrow, 1, repasswd.get())
            w_sheet.write(nrow, 2, phonenum.get())
            w_sheet.write(nrow, 3, man.get())

            wb.save('用戶信息.xls')

    Button(registered, text='注冊', command=registeredes).grid(row=6, column=0, columnspan=3)


Button(login, text='注冊', command=registereds).grid(row=6, column=0, columnspan=3)
login.mainloop()

結果

(1)密碼正確(對照用戶信息文件輸入密碼),結果顯示登錄成功


(2)密碼不正確,結果顯示密碼不正確

(3)密碼正確,驗證碼位數不對

(4)用戶名不存在


5. 注冊新用戶

(1)新用戶寫入用戶信息文件


(2)再次登錄,用戶登錄成功

到此這篇關于Python中tkinter的用戶登錄管理的實現的文章就介紹到這了,更多相關tkinter用戶登錄管理內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python用tkinter開發的掃雷游戲
  • python tkinter Entry控件的焦點移動操作
  • python3.7.2 tkinter entry框限定輸入數字的操作
  • python使用tkinter實現透明窗體
  • Python基于Tkinter開發一個爬取B站直播彈幕的工具
  • Python基礎之tkinter圖形化界面學習
  • Python實戰之用tkinter庫做一個鼠標模擬點擊器
  • python基于tkinter制作m3u8視頻下載工具
  • python tkinter實現定時關機
  • 上帝為你開了一扇窗之Tkinter常用函數詳解

標簽:金華 雙鴨山 赤峰 克拉瑪依 臨汾 日照 貴州 陽泉

巨人網絡通訊聲明:本文標題《Python中tkinter的用戶登錄管理的實現》,本文關鍵詞  Python,中,tkinter,的,用戶,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python中tkinter的用戶登錄管理的實現》相關的同類信息!
  • 本頁收集關于Python中tkinter的用戶登錄管理的實現的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产激情精品久久久第一区二区 | 日本在线不卡一区| 国产精品影音先锋| 5月丁香婷婷综合| 亚洲福利视频三区| 亚洲国产精品成人综合色在线婷婷 | 午夜久久久久久久久久一区二区| 91性感美女视频| 亚洲精选视频在线| 欧美性色欧美a在线播放| 一区二区高清免费观看影视大全| 91福利精品第一导航| 首页亚洲欧美制服丝腿| 日韩区在线观看| 国产精品夜夜爽| 亚洲精品高清在线| 欧美一区二区三区公司| 成人黄色网址在线观看| 国产午夜精品久久久久久免费视| 美国毛片一区二区三区| 久久久五月婷婷| 日韩欧美成人激情| 国产成人免费视频一区| 国产精品久久久久天堂| 在线观看日韩精品| 综合婷婷亚洲小说| 91精品婷婷国产综合久久性色 | 7799精品视频| 韩日av一区二区| 亚洲欧美一区二区三区极速播放| 欧美日韩国产高清一区| 欧美日韩成人高清| 9人人澡人人爽人人精品| 中文字幕一区av| 欧美三区在线观看| 狠狠色丁香久久婷婷综| 中文字幕一区二区三区在线播放| 在线观看国产日韩| 久久超碰97中文字幕| 久久久国产精品不卡| 在线亚洲高清视频| 国产精品一区二区在线观看网站| 亚洲精品日韩专区silk| 欧美一级国产精品| 99久久99精品久久久久久| 日韩制服丝袜av| 91女神在线视频| 精品一区免费av| 亚洲一区影音先锋| 精品毛片乱码1区2区3区| 不卡的电影网站| 久久国产视频网| 亚洲欧美一区二区三区久本道91| 久久精品国产澳门| 亚洲人精品一区| 中文字幕不卡一区| 精品久久久久久久久久久久包黑料 | 伊人色综合久久天天| 欧美一级片在线观看| 91麻豆产精品久久久久久 | 亚洲综合色丁香婷婷六月图片| 久久看人人爽人人| 欧美日高清视频| 欧美日韩成人一区二区| 在线看国产日韩| 在线观看网站黄不卡| 色一情一伦一子一伦一区| 成人午夜精品在线| 国产凹凸在线观看一区二区| 激情五月播播久久久精品| 麻豆精品视频在线观看免费 | 免费在线观看不卡| 麻豆精品久久久| 精品一区二区在线免费观看| 蜜臀国产一区二区三区在线播放| 奇米影视7777精品一区二区| 蜜桃一区二区三区在线观看| 日本一不卡视频| 男人的天堂亚洲一区| 日本美女一区二区| 久久精品久久精品| 国产精品羞羞答答xxdd| 丁香一区二区三区| 91久久奴性调教| 欧美性高清videossexo| 91精品中文字幕一区二区三区| 欧美色图在线观看| 欧美蜜桃一区二区三区| 欧美成人a在线| 国产精品美女久久久久久| 亚洲美女屁股眼交| 午夜电影网亚洲视频| 国产在线精品免费| 丁香网亚洲国际| 在线免费观看日韩欧美| 日韩色视频在线观看| 久久丝袜美腿综合| 国产精品国模大尺度视频| 亚洲影院久久精品| 国产不卡一区视频| 日本韩国一区二区| 久久久久青草大香线综合精品| 亚洲永久精品大片| 成人av在线影院| 337p粉嫩大胆噜噜噜噜噜91av| ...中文天堂在线一区| 日韩高清在线不卡| 91麻豆精品在线观看| 久久亚洲一级片| 图片区小说区区亚洲影院| av成人免费在线| 久久久久9999亚洲精品| 丝袜脚交一区二区| 色天天综合色天天久久| 国产蜜臀av在线一区二区三区| 蜜臀av在线播放一区二区三区| 欧美私人免费视频| 中文字幕在线观看一区二区| 日本vs亚洲vs韩国一区三区二区 | 美日韩一级片在线观看| 欧美日本一道本在线视频| 欧美一区二区观看视频| 国产午夜精品一区二区| 中文字幕日韩精品一区| 亚洲精品在线一区二区| 美国十次了思思久久精品导航| 狠狠色丁香九九婷婷综合五月| 国产一区二区精品在线观看| 国产91露脸合集magnet| 92精品国产成人观看免费 | 国产成人啪午夜精品网站男同| 91麻豆精品国产91久久久更新时间 | 国产91富婆露脸刺激对白 | 亚洲视频电影在线| 亚洲一区二区免费视频| 奇米色一区二区三区四区| 国产精品资源在线| 色综合久久天天综合网| 欧美二区三区91| 91传媒视频在线播放| 夜夜嗨av一区二区三区| 日产国产欧美视频一区精品| 国产成人免费视频网站 | 国产精品91一区二区| 欧美亚洲尤物久久| 久久久精品欧美丰满| 1000部国产精品成人观看| 免费在线看成人av| 91首页免费视频| 精品国产亚洲在线| 91精品国产综合久久久久久漫画| 日本亚洲免费观看| 91丨porny丨蝌蚪视频| 日韩一级大片在线观看| 亚洲丝袜美腿综合| 麻豆国产欧美一区二区三区| 国产麻豆视频一区| 欧美日韩中文字幕一区| 成人av电影在线观看| 91精品国产高清一区二区三区 | 欧美精品xxxxbbbb| 日韩毛片一二三区| 国产福利视频一区二区三区| 日韩一区二区三区免费看 | av中文字幕在线不卡| 777午夜精品视频在线播放| 亚洲人精品一区| 日精品一区二区三区| 亚洲男女一区二区三区| 91麻豆精品国产91久久久久久久久 | 久久亚洲免费视频| 久久国产麻豆精品| 亚洲成人av一区二区三区| 一区二区三区在线视频免费| 久久99九九99精品| 欧美色偷偷大香| 欧美日韩精品三区| 国产99一区视频免费| 欧美一区二区人人喊爽| 亚洲国产人成综合网站| 欧美性受极品xxxx喷水| 一区二区三区精品| 91国产成人在线| 亚洲视频精选在线| 蜜桃av噜噜一区二区三区小说| 在线观看日韩国产| 亚洲精品中文在线影院| 色婷婷综合久久久久中文一区二区| 国产精品久久国产精麻豆99网站| 亚洲成人动漫在线观看| 欧美在线一区二区三区| 亚洲主播在线观看| 欧美精品 日韩| 日本视频在线一区| 欧美sm极限捆绑bd| 激情五月婷婷综合| 色琪琪一区二区三区亚洲区| 国产精品一区一区| 亚洲精品网站在线观看| 欧美乱妇23p|