国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)V3.0(GUI界面)

這篇具有很好參考價(jià)值的文章主要介紹了Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)V3.0(GUI界面)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

關(guān)于“學(xué)生信息管理系統(tǒng)”的基本思路和詳細(xì)過程,請(qǐng)看V1.0版本:

Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)V1.0_︶ㄣ釋然的博客-CSDN博客本文是關(guān)于學(xué)生信息管理系統(tǒng)的簡(jiǎn)易版以及具體內(nèi)容具體思路的詳細(xì)講解,簡(jiǎn)單易理解、純邏輯實(shí)現(xiàn)、沒有復(fù)雜的第三方庫,適合新手小白練手https://blog.csdn.net/qq_60735796/article/details/125648838

關(guān)于“學(xué)生信息管理系統(tǒng)”的非GUI進(jìn)階版本,請(qǐng)看V2.0版本:

Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)V2.0(讀寫文件操作)_︶ㄣ釋然的博客-CSDN博客本文是關(guān)于學(xué)生信息管理系統(tǒng)的“進(jìn)階”,引入了文件句柄操作txt文件(讀取和寫入學(xué)生信息)https://blog.csdn.net/qq_60735796/article/details/125649281下面是GUI界面的V3.0版本,同時(shí)包含學(xué)生信息的寫入文件。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-486425.html

先給大家展示的是GUI可視化的大致實(shí)現(xiàn)思路

Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)V3.0(GUI界面)

?

本程序的GUI界面可視化是使用了python的tkinter庫(下面稱thinter為tk)

①下面介紹如何初始化GUI界面

界面主要是使用了tk.label 和 tk.entry(代碼即注釋)

# 關(guān)于gui的代碼, 用方法封裝比較困難,
#   此處利用if __name__ == '__main__' , 方便代碼折疊, ”閱讀”全局思路
if __name__ == '__main__':
    # 以下代碼全部為gui界面的初始化

    # 第1步,實(shí)例化對(duì)象,建立窗口window
    window = tk.Tk()
    # 第2步,給窗口的可視化起名字
    window.title('學(xué)生信息管理系統(tǒng) V6.1')  # 學(xué)生信息管理系統(tǒng)6 - 1
    # 第3步,設(shè)定窗口的大小(長(zhǎng) * 寬)
    window.geometry('500x650')

    # tk.StringVar()用于接收用戶輸入
    result = tk.StringVar()
    result.set(" ")

    # ①關(guān)于姓名的 label 和 entry
    textName = tk.StringVar()
    textName.set("")
    labelLine1 = tk.Label(window, text="姓     名:", font=('Arial', 15), width=10).place(x=75, y=50, anchor='nw')
    entryLine1 = tk.Entry(window, show=None, font=('宋體', 15), textvariable=textName, width=20)
    entryLine1.place(x=190, y=50, anchor='nw')  # 顯示成明文形式

    # ②關(guān)于性別的 label 和 entry
    textSex = tk.StringVar()
    textSex.set("")
    labelLine2 = tk.Label(window, text="性     別:", font=('Arial', 15), width=10)
    labelLine2.place(x=75, y=100, anchor='nw')
    entryLine2 = tk.Entry(window, show=None, font=('Arial', 15), textvariable=textSex, width=18)
    entryLine2.place(x=190, y=100, anchor='nw')

    # ③關(guān)于電話的 label 和 entry
    textPhone = tk.StringVar()
    textPhone.set("")
    labelLine3 = tk.Label(window, text="電     話:", font=('Arial', 15), width=10).place(x=75, y=150, anchor='nw')
    entryLine3 = tk.Entry(window, show=None, font=('Arial', 15), textvariable=textPhone, width=18)
    entryLine3.place(x=190, y=150, anchor='nw')

    # 關(guān)于"添加"組件,此處綁定函數(shù)addStudentsMessage()用于添加學(xué)生信息
    button1_add = tk.Button(window, text='添   加', bg='silver', font=('Arial', 12), command=addStudentsMessage, width=8)
    button1_add.place(x=40, y=220, anchor='nw')
    # 關(guān)于"刪除"組件,此處綁定函數(shù)deleteMessage()用于刪除學(xué)生信息
    button2_delete = tk.Button(window, text='刪   除', bg='silver', font=('Arial', 12), command=deleteMessage, width=8)
    button2_delete.place(x=150, y=220, anchor='nw')
    # 關(guān)于"修改"組件,此處綁定函數(shù)change()用于修改學(xué)生信息
    button3_change = tk.Button(window, text='修   改', bg='silver', font=('Arial', 12), command=change, width=8)
    button3_change.place(x=260, y=220, anchor='nw')
    # 關(guān)于"顯示"組件,此處綁定函數(shù)show()用于顯示學(xué)生信息
    button4_show = tk.Button(window, text='顯   示', bg='silver', font=('Arial', 12), command=show, width=8)
    button4_show.place(x=370, y=220, anchor='nw')
    # 下邊兩行代碼是在gui界面顯示我的學(xué)號(hào)和姓名
    labelLine_Name = tk.Label(window, text="許梓璘", font=('宋體', 13), width=10).place(x=130, y=260, anchor='nw')
    labelLine_myID = tk.Label(window, text="2109059342", font=('宋體', 13), width=10).place(x=250, y=260, anchor='nw')

    show_result = tk.Label(window, bg="white", fg="black", font=("宋體", 12), bd='0', anchor='nw', textvariable=result)
    show_result.place(x="25", y="300", width="450", height="300")

    window.mainloop()

?

②實(shí)現(xiàn)可視化之后,原來V1.0和V2.0版本輸出(print)的提示信息和獲取用戶輸入(input),不再適用,此時(shí)要采用tk.StringVar().set()設(shè)置GUI界面的文本框展示信息以及tk.StringVar().get()獲取用戶在GUI界面輸入的文本內(nèi)容

(注意此處獲取到的文本內(nèi)容,均為StringVar類型而并非String,這是不可變數(shù)據(jù)類型),其余實(shí)現(xiàn)思路均類似于V2.0版本(此處以“修改學(xué)生信息”功能為例)

# 3、修改學(xué)生信息
def change():
    if LIST is None:
        result.set("沒有信息,無法修改")
        return None
    if len(LIST) == 0:
        result.set("沒有信息,無法修改")
        return None
    if len(LIST) != 0:
        inputName = textName.get()
        for i in range(0, len(LIST)):
            if LIST[i]["name"] == inputName:
                LIST[i]["sex"] = textSex.get()
                LIST[i]["phone"] = textSex.get()
                writeTxt_wMode(LIST)
                result.set("修改成功")

                delete_Gui_StudentMessage()
                return

?

③展示GUI界面實(shí)現(xiàn)結(jié)果

Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)V3.0(GUI界面)

?

?


最后,附上完整代碼,其中附有詳細(xì)注釋:

# -*- coding: utf-8 -*-
# @Author:︶ㄣ釋然
# @Time: 2022/7/6 22:08

import tkinter as tk

# 定義一個(gè)全局變量接收學(xué)生信息并進(jìn)行更新
LIST = []


# 定義一個(gè)方法用于使用w模式寫入文件:傳入已經(jīng)存好變更好信息的列表,然后遍歷寫入txt文檔
def writeTxt_wMode(studentList):
    #     w:只寫入模式,文件不存在則建立,將文件里邊的內(nèi)容先刪除再寫入
    with open("test.txt", "w", encoding="utf-8") as f:
        for i in range(0, len(studentList)):
            DICT = studentList[i]

            if i == len(studentList) - 1:
                f.write("{0}\t{1}\t{2}".format(DICT["name"], DICT["sex"], DICT["phone"]))
            else:
                f.write("{0}\t{1}\t{2}\n".format(DICT["name"], DICT["sex"], DICT["phone"]))


# 定義一個(gè)方法用于讀取文件:
def readTxt() -> list:
    emptyList1 = []
    emptyList2 = []

    # 打開同目錄下的txt文件
    f = open("./test.txt", 'r', encoding='UTF-8')

    # 把txt文件中的每一行學(xué)生信息,存儲(chǔ)為新列表emptyList1的元素,
    for i in f:
        a = str(i)
        b = a.replace('\n', '')
        emptyList1.append(b.split("\t"))

    # 依次將emptyList的三種學(xué)生信息字典,存入列表
    while len(emptyList2) < len(emptyList1):
        for j in range(0, len(emptyList1)):
            name = emptyList1[j][0]
            sex = emptyList1[j][1]
            phone = emptyList1[j][2]

            Dict = {"name": name, "sex": sex, "phone": phone}
            # 把該字典作為emptyList2的一個(gè)元素,依次存入。
            emptyList2.append(Dict)

    f.close()

    # 最后結(jié)束方法,返回存儲(chǔ)信息完成的列表
    return emptyList2


# 定義一個(gè)方法,檢查輸入的電話號(hào)碼是否符合規(guī)范,返回布爾值
def checkPhoneNumber_Boolean(phone):
    if phone.isdigit():
        return True
    else:
        result.set("電話號(hào)碼輸入不是純數(shù)字")
        return False


# 定義一個(gè)方法,去除字符串左右兩端的空格,并返回處理之后的字符串
def trim(strings):
    # 獲取從偏移為0的字符一直到偏移為1的字符串,不包括偏移為1的字符串
    #     (該功能用于去除字符串左邊的空格)
    while strings[:1] == ' ':
        strings = strings[1:]
    # 獲取從偏移為-1的字符一直到偏移為最后一位的字符串,不包括偏移為最后一位的字符串
    #     (該功能用于去除字符串右邊的空格)
    while strings[-1:] == ' ':
        strings = strings[:-1]
    # 左右兩端空格去除完成,返回strings
    return strings


# 定義方法查找同名
def checkTheSameName(enterName):
    flagList = []  # 存的是名字的索引
    List = []
    returnList = []
    date = 1
    # 開始遍歷查找
    for i in range(0, len(LIST)):
        if LIST[i]["name"] == enterName:
            # 把找到的名字對(duì)應(yīng)的索引,添加進(jìn)列表
            flagList.append(int(i))

    if len(flagList) == 1:
        # 說明信息中只存在一個(gè)這樣的名字
        return date  # 返回1表示不重名

    if len(flagList) > 1:
        for i in flagList:
            List.append(LIST[i])
        # 此時(shí),List的長(zhǎng)度等于flagList

        returnList.append(List)
        returnList.append(flagList)
        return returnList  # 第一個(gè)元素是列表,第二個(gè)元素是存儲(chǔ)重復(fù)名字的索引的 列表


# 定義方法顯示所有重復(fù)的學(xué)生信息
def show_ofTheSameName(list_ofTheSameName):
    # 定義一個(gè)字符串用于存儲(chǔ)想要輸出顯示的內(nèi)容
    str_out = ""

    str_out += "出現(xiàn)同名,同名學(xué)生信息顯示如下:\n"

    # 打印頭部標(biāo)題 并進(jìn)行格式化
    str_out += ("{:^9}".format("學(xué)生序號(hào)") +
                "{:^9}".format("學(xué)生姓名") +
                "{:^9}".format("學(xué)生性別") +
                "{:^11}".format("電話號(hào)碼") +
                "\n")

    for i in range(0, len(list_ofTheSameName)):
        # 格式化字符串
        str_out += ("{:<11}".format(i + 1, chr(12288)) +
                    "{:<11}".format(list_ofTheSameName[i].get("name"), chr(12288)) +
                    "{:^9}".format(list_ofTheSameName[i].get("sex"), chr(12288)) +
                    "{:>15}".format(list_ofTheSameName[i].get("phone"), chr(12288)) +
                    "\n")

    str_out += "\n請(qǐng)?jiān)谏戏捷斎朐敿?xì)學(xué)生信息,進(jìn)行精準(zhǔn)刪除"
    result.set(str_out)


# 定義方法清除gui界面的三個(gè)學(xué)生信息
def delete_Gui_StudentMessage():
    textName.set("")
    textSex.set("")
    textPhone.set("")


# 1、添加學(xué)生信息
def addStudentsMessage():
    # 在gui界面輸入的學(xué)生姓名,使用get()方法,獲取entry中輸入的內(nèi)容
    #    并且用name接收
    name = textName.get()
    # 判斷是否為空,并在gui界面進(jìn)行提示
    if not name:
        result.set("學(xué)生姓名不能為空")
        return

    # 調(diào)用自定義的方法,去除字符串兩端的空格再進(jìn)行比較,如果去除空格之后為空,則說明鍵入的字符串只有空格
    if trim(name) == "":
        result.set("學(xué)生姓名不能為空")
        return

    # 判斷性別輸入是否正確
    #   在gui界面輸入的學(xué)生性別,使用get()方法,獲取entry中輸入的內(nèi)容
    #      并且用sex接收
    sex = textSex.get()
    if sex == "F" or sex == "M":
        pass
    else:
        # 如果輸入的性別不符合規(guī)范,則在gui界面進(jìn)行提示
        result.set("性別輸入格式有誤")
        return

    # 判斷電話輸入是否正確
    #   在gui界面輸入的學(xué)生電話號(hào)碼,使用get()方法,獲取entry中輸入的內(nèi)容
    #      并且用phone接收
    phone = textPhone.get()
    # 調(diào)用自定義的檢查方法,返回布爾類型,如果符合要求,則返回True
    resultBoolean = checkPhoneNumber_Boolean(phone)
    if resultBoolean:
        pass
    else:
        return

    Dict = {"name": name, "sex": sex, "phone": phone}
    LIST.append(Dict)
    result.set("學(xué)生已添加")
    # 調(diào)用自定義方法清除gui界面的學(xué)生信息
    delete_Gui_StudentMessage()

    writeTxt_wMode(LIST)

    return


# 2、刪除學(xué)生信息
def deleteMessage() -> list:
    # 定義信號(hào)位
    flag = True

    enterName = textName.get()

    for i in range(0, len(LIST)):
        if LIST[i]["name"] == enterName:
            flag = False
            break

    if flag:
        result.set("學(xué)生不存在")
        # 學(xué)生不存在則沒有必要查找是否同名
        return LIST

    # 開始遍歷查找
    accept = checkTheSameName(enterName)  # 接收查找同名方法的返回值

    if accept == 1:
        for i in range(0, len(LIST)):
            if LIST[i]["name"] == enterName:
                del LIST[i]
                result.set("刪除成功")
                writeTxt_wMode(LIST)
                delete_Gui_StudentMessage()
                # 刪除成功直接返回,結(jié)束該方法
                return
    else:
        # 此時(shí)出現(xiàn)同名,accept[0]和accept[1]都是列表對(duì)象
        # accept[0]存儲(chǔ)的是同名學(xué)生信息
        show_ofTheSameName(accept[0])
        for i in range(0, len(LIST)):
            if LIST[i]["name"] == textName.get():
                if LIST[i]["sex"] == textSex.get():
                    if LIST[i]["phone"] == textPhone.get():
                        del LIST[i]
                        result.set("刪除成功")
                        writeTxt_wMode(LIST)
                        delete_Gui_StudentMessage()
                        return


# 3、修改學(xué)生信息
def change():
    if LIST is None:
        result.set("沒有信息,無法修改")
        return None
    if len(LIST) == 0:
        result.set("沒有信息,無法修改")
        return None
    if len(LIST) != 0:
        inputName = textName.get()
        for i in range(0, len(LIST)):
            if LIST[i]["name"] == inputName:
                LIST[i]["sex"] = textSex.get()
                LIST[i]["phone"] = textSex.get()
                writeTxt_wMode(LIST)
                result.set("修改成功")

                delete_Gui_StudentMessage()
                return


# 4、顯示所有學(xué)生信息
def show():
    # 定義一個(gè)字符串用于存儲(chǔ)想要輸出顯示的內(nèi)容
    str_out = ""

    if LIST is None:
        result.set("無學(xué)生信息")
        return
    if len(LIST) == 0:
        result.set("無學(xué)生信息")
        return

    if len(LIST) != 0:
        str_out += "學(xué)生信息如下:\n"

        # 打印頭部標(biāo)題 并進(jìn)行格式化
        str_out += ("{:^9}".format("學(xué)生序號(hào)") +
                    "{:^9}".format("學(xué)生姓名") +
                    "{:^9}".format("學(xué)生性別") +
                    "{:^11}".format("電話號(hào)碼") +
                    "\n")

        for i in range(0, len(LIST)):
            # 格式化字符串
            str_out += ("{:<11}".format(i + 1, chr(12288)) +
                        "{:<11}".format(LIST[i].get("name"), chr(12288)) +
                        "{:^9}".format(LIST[i].get("sex"), chr(12288)) +
                        "{:>15}".format(LIST[i].get("phone"), chr(12288)) +
                        "\n")
        # 在gui界面更新顯示最新的字符串str
        result.set(str_out)


# 把文件里邊的學(xué)生信息添加到LIST1里邊,如果發(fā)現(xiàn)文件里邊的學(xué)生信息為空,則繼續(xù)執(zhí)行后面的程序
try:
    for i in readTxt():
        LIST.append(i)
except:
    pass

# 關(guān)于gui的代碼, 用方法封裝比較困難,
#   此處利用if __name__ == '__main__' , 方便代碼折疊, ”閱讀”全局思路
if __name__ == '__main__':
    # 以下代碼全部為gui界面的初始化

    # 第1步,實(shí)例化對(duì)象,建立窗口window
    window = tk.Tk()
    # 第2步,給窗口的可視化起名字
    window.title('學(xué)生信息管理系統(tǒng) V3.0')  # 學(xué)生信息管理系統(tǒng)6 - 1
    # 第3步,設(shè)定窗口的大小(長(zhǎng) * 寬)
    window.geometry('500x650')

    # tk.StringVar()用于接收用戶輸入
    result = tk.StringVar()
    result.set(" ")

    # ①關(guān)于姓名的 label 和 entry
    textName = tk.StringVar()
    textName.set("")
    labelLine1 = tk.Label(window, text="姓     名:", font=('Arial', 15), width=10).place(x=75, y=50, anchor='nw')
    entryLine1 = tk.Entry(window, show=None, font=('宋體', 15), textvariable=textName, width=20)
    entryLine1.place(x=190, y=50, anchor='nw')  # 顯示成明文形式

    # ②關(guān)于性別的 label 和 entry
    textSex = tk.StringVar()
    textSex.set("")
    labelLine2 = tk.Label(window, text="性     別:", font=('Arial', 15), width=10)
    labelLine2.place(x=75, y=100, anchor='nw')
    entryLine2 = tk.Entry(window, show=None, font=('Arial', 15), textvariable=textSex, width=18)
    entryLine2.place(x=190, y=100, anchor='nw')

    # ③關(guān)于電話的 label 和 entry
    textPhone = tk.StringVar()
    textPhone.set("")
    labelLine3 = tk.Label(window, text="電     話:", font=('Arial', 15), width=10).place(x=75, y=150, anchor='nw')
    entryLine3 = tk.Entry(window, show=None, font=('Arial', 15), textvariable=textPhone, width=18)
    entryLine3.place(x=190, y=150, anchor='nw')

    # 關(guān)于"添加"組件,此處綁定函數(shù)addStudentsMessage()用于添加學(xué)生信息
    button1_add = tk.Button(window, text='添   加', bg='silver', font=('Arial', 12), command=addStudentsMessage, width=8)
    button1_add.place(x=40, y=220, anchor='nw')
    # 關(guān)于"刪除"組件,此處綁定函數(shù)deleteMessage()用于刪除學(xué)生信息
    button2_delete = tk.Button(window, text='刪   除', bg='silver', font=('Arial', 12), command=deleteMessage, width=8)
    button2_delete.place(x=150, y=220, anchor='nw')
    # 關(guān)于"修改"組件,此處綁定函數(shù)change()用于修改學(xué)生信息
    button3_change = tk.Button(window, text='修   改', bg='silver', font=('Arial', 12), command=change, width=8)
    button3_change.place(x=260, y=220, anchor='nw')
    # 關(guān)于"顯示"組件,此處綁定函數(shù)show()用于顯示學(xué)生信息
    button4_show = tk.Button(window, text='顯   示', bg='silver', font=('Arial', 12), command=show, width=8)
    button4_show.place(x=370, y=220, anchor='nw')
    # 下邊兩行代碼是在gui界面顯示我的作者信息
    labelLine_Name = tk.Label(window, text="@Author:", font=('宋體', 13), width=10).place(x=130, y=260, anchor='nw')
    labelLine_myID = tk.Label(window, text="︶ㄣ釋然", font=('宋體', 13), width=10).place(x=250, y=260, anchor='nw')

    show_result = tk.Label(window, bg="white", fg="black", font=("宋體", 12), bd='0', anchor='nw', textvariable=result)
    show_result.place(x="25", y="300", width="450", height="300")

    window.mainloop()

?

?

?

?

到了這里,關(guān)于Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)V3.0(GUI界面)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JAVA+GUI界面+MysSQL的學(xué)生信息管理系統(tǒng)

    JAVA+GUI界面+MysSQL的學(xué)生信息管理系統(tǒng)

    本文將介紹如何使用Java Swing GUI庫和MySQL數(shù)據(jù)庫來編寫一個(gè)簡(jiǎn)單的學(xué)生信息管理系統(tǒng),同時(shí)也將講解GUI的基本布局、事件處理和MySQL數(shù)據(jù)庫的連接、數(shù)據(jù)操作等知識(shí)。編寫java和sql語句需要安裝 JDK 和 MySQL 數(shù)據(jù)庫。 首先是 系統(tǒng)登錄界面 ,用戶選擇賬號(hào)類型(教師賬號(hào)、學(xué)生賬號(hào)

    2024年02月04日
    瀏覽(18)
  • python + GUI 實(shí)現(xiàn)學(xué)生管理系統(tǒng) 數(shù)據(jù)用TXT文檔存儲(chǔ) 親測(cè)可用

    python + GUI 實(shí)現(xiàn)學(xué)生管理系統(tǒng) 數(shù)據(jù)用TXT文檔存儲(chǔ) 親測(cè)可用

    運(yùn)行登錄界面即可自動(dòng)跳轉(zhuǎn)學(xué)生管理界面 先把登錄界面代碼和學(xué)生管理代碼放在同一個(gè)文件夾, 再在這個(gè)文件夾創(chuàng)建兩個(gè)空的users.txt,students.txt文件 即可正常運(yùn)行 登錄界面代碼運(yùn)行效果 ? 登錄界面代碼 學(xué)生管理運(yùn)行效果顯示 可增刪改查 ? 學(xué)生管理模塊代碼

    2024年02月03日
    瀏覽(21)
  • Java學(xué)生信息管理系統(tǒng)(Swing<GUI>+JDBC<MySQL>)

    Java學(xué)生信息管理系統(tǒng)(Swing<GUI>+JDBC<MySQL>)

    本文有借鑒別人的代碼,但是也是自己理解之后寫出來的,文中有注釋,并且有個(gè)別文件也用紅框和黃字體講解,并且能解決其他文件90%看不懂的問題,如果還是看不懂清留言,源碼在文章末尾,附上了全部代碼,這個(gè)注冊(cè)系統(tǒng)比較簡(jiǎn)陋,供大家學(xué)習(xí)參考。 ** 這是一個(gè)簡(jiǎn)單的

    2024年02月09日
    瀏覽(34)
  • 學(xué)生信息管理系統(tǒng)(Python實(shí)現(xiàn))

    目錄 1.功能介紹 2.代碼模塊 3.全局代碼 摘?jiǎng)Γ。。?采用列表+類的組合來實(shí)現(xiàn)對(duì)信息的增刪改查,整體代碼比較簡(jiǎn)單,只用了100余行 1)添加學(xué)生信息 2)查詢學(xué)生信息 3)刪除學(xué)生信息 4)修改學(xué)生信息 5)遍歷學(xué)生信息 1)學(xué)生類 2)菜單menu 3)添加insert ?4)查詢search 5)刪

    2024年02月13日
    瀏覽(18)
  • 面向?qū)ο蟪绦蛟O(shè)計(jì)(Java)課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)(GUI+文件)

    面向?qū)ο蟪绦蛟O(shè)計(jì)(Java)課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)(GUI+文件)

    一、團(tuán)隊(duì)成員及任務(wù) 組長(zhǎng):宗慶亮? 計(jì)科(智能)22-1? 202203200021 負(fù)責(zé)模塊:靜態(tài)登錄界面實(shí)現(xiàn)以及學(xué)生信息系統(tǒng)管理界面的創(chuàng)建 組員:鄭金洲??計(jì)科(智能)22-1? 202203200022 負(fù)責(zé)模塊:增加,刪除,修改以及查詢功能的實(shí)現(xiàn) 團(tuán)隊(duì)博客:面向?qū)ο蟪绦蛟O(shè)計(jì)(Java)課程設(shè)計(jì)——學(xué)生

    2024年02月03日
    瀏覽(26)
  • python基于Tkinter實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    python基于Tkinter實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    1.添加學(xué)生成績(jī):管理員可以在系統(tǒng)中添加學(xué)生的成績(jī)信息,包括學(xué)生姓名、學(xué)號(hào)、課程名稱、成績(jī)等。 2.刪除學(xué)生成績(jī):管理員可以根據(jù)學(xué)生的學(xué)號(hào)或者姓名刪除學(xué)生的成績(jī)信息。 3.修改學(xué)生成績(jī):管理員可以修改學(xué)生的成績(jī)信息,包括學(xué)生姓名、學(xué)號(hào)、課程名稱、成績(jī)等

    2024年02月08日
    瀏覽(19)
  • 基于python的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    小白學(xué)python,做了一個(gè)基礎(chǔ)小系統(tǒng),給大家分享一下(歡迎大神指導(dǎo)) 目錄 步驟 1.設(shè)計(jì)要求 2.設(shè)計(jì)步驟 (1)導(dǎo)入os模塊,創(chuàng)建一個(gè)文件夾用于存儲(chǔ)數(shù)據(jù) ?(2)定義一個(gè)菜單函數(shù) (3)實(shí)現(xiàn)學(xué)生信息的錄入功能 (4)定義了一個(gè)save函數(shù)用于錄入功能的調(diào)用 (5)查詢功能的實(shí)現(xiàn)

    2024年02月09日
    瀏覽(19)
  • [Python+Django]Web學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)及系統(tǒng)實(shí)現(xiàn)

    [Python+Django]Web學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)及系統(tǒng)實(shí)現(xiàn)

    本文我們完成數(shù)據(jù)的設(shè)計(jì),并通過Django框架完成數(shù)據(jù)庫構(gòu)建同時(shí)利用Django框架模式實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的功能。 簡(jiǎn)單的包裝下畢設(shè)應(yīng)該沒問題了。 Python,Mysql,Pycharm的安裝本文就不做特別介紹了,有需要的同學(xué)請(qǐng)參考如下博文。 Python + Django4 搭建個(gè)人博客(二):準(zhǔn)備開

    2024年02月03日
    瀏覽(57)
  • python實(shí)現(xiàn)手機(jī)通訊錄和學(xué)生信息管理系統(tǒng)(4種方法)

    python實(shí)現(xiàn)手機(jī)通訊錄和學(xué)生信息管理系統(tǒng)(4種方法)

    1.手機(jī)通訊錄: 通訊錄是記錄了聯(lián)系人姓名和聯(lián)系方式的名錄,手機(jī)通訊錄是最常見的通訊錄之一,人們可以在通訊錄中通過姓名查看相關(guān)聯(lián)系人的聯(lián)系方式、郵箱、地址等信息,也可以在其中新增聯(lián)系人,或修改、刪除聯(lián)系人信息。下面是一個(gè)常見通訊錄的功能菜單,如圖

    2024年02月09日
    瀏覽(44)
  • python 實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)+MySql 數(shù)據(jù)庫,包含源碼及相關(guān)實(shí)現(xiàn)說明~

    python 實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)+MySql 數(shù)據(jù)庫,包含源碼及相關(guān)實(shí)現(xiàn)說明~

    1、系統(tǒng)說明 python 編寫的學(xué)生信息管理系統(tǒng)+MySQL數(shù)據(jù)庫,實(shí)現(xiàn)了增刪改查的基本功能。 2、數(shù)據(jù)庫說明 本人使用的是 MySQL8.0 版本 數(shù)據(jù)庫端口號(hào)為:3306 數(shù)據(jù)庫用戶名是:root 數(shù)據(jù)庫名稱是:practice 建立的表是:students 3、系統(tǒng)功能 增加學(xué)生信息 刪除學(xué)生信息 修改學(xué)生信息 查

    2024年02月11日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包