欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python實(shí)現(xiàn)簡單的學(xué)生成績管理系統(tǒng)

 更新時(shí)間:2022年01月25日 15:05:12   作者:迢迢x  
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)學(xué)生成績管理系統(tǒng),使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

基本功能:

  • 能夠?qū)崿F(xiàn)學(xué)生成績相關(guān)信息的輸入、輸出、查找、刪除、修改等功能;(使用數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行存?。?/li>
  • 輸入并存儲學(xué)生的信息:通過輸入學(xué)生的學(xué)號、姓名、和分?jǐn)?shù),然后就可以把數(shù)據(jù)保存在建立的student文件里面。
  • 打印學(xué)生的所有信息:通過一個(gè)打印函數(shù)就可以把所有的信息打印在屏幕上。
  • 查找學(xué)生信息:這個(gè)功能通過輸入學(xué)號,查找該學(xué)生的信息,如果有該學(xué)號就輸出該學(xué)生的信息,沒有該學(xué)號就提示輸入的學(xué)號不存在。
  • 刪除學(xué)生信息:該功能是對相應(yīng)的學(xué)生進(jìn)行刪除操作,如果學(xué)生存在就查找到進(jìn)行刪除。
  • 修改學(xué)生信息:這個(gè)功能首先通過查詢功能查詢出該學(xué)生是否存在,如果存在就對該學(xué)生的信息進(jìn)行修改,如果不存在則返回到主界面。

實(shí)現(xiàn)效果:

制作技巧  

1.定義變量

(1)定義交互輸入變量

主要用于展示學(xué)生成績管理系統(tǒng)的操作界面。

(2)定義學(xué)生成績信息變量

主要用于學(xué)生成績信息的存取。

s_info = """
*****************************************************
【學(xué)生成績管理系統(tǒng)】
                            q. 退出學(xué)生成績系統(tǒng)
                            1. 顯示學(xué)生成績信息
                            2. 新建學(xué)生成績信息                            
                            3. 查詢學(xué)生成績信息
                            4. 刪除學(xué)生成績信息
                            5. 修改學(xué)生成績信息
******************************************************"""
    students=[]

2.讀取學(xué)生成績信息

主要是從TXT文件中讀取學(xué)生成績信息,并保存到學(xué)生成績變量中。

f=open("students.txt","r+")
    for st in f.readlines():
        students.append(eval(st))
    f.close()

3.循環(huán)等待操作指令并執(zhí)行

主要是循環(huán)等待輸入的學(xué)生管理系統(tǒng)操作指令,獲取到操作指令后執(zhí)行對學(xué)生成績信息的顯示、新建、查詢、刪除、修改操作。

while True:
        print(s_info)
        handle = input('請選擇你要的操作選項(xiàng):')
        if handle == 'q':
            print('q. 退出系統(tǒng)')
            break
        elif handle == '1':            
            s_display(students)
        elif handle == '2':
            s_new(students)
        elif handle == '3':
            s_find(students)       
        elif handle == '4':
            s_delect(students)
        elif handle == '5':
            s_modify(students)         
        else:
            print('請輸入正確的操作選項(xiàng)!')

4.編寫操作指令執(zhí)行函數(shù)

(1)顯示學(xué)生成績信息函數(shù)

主要功能是顯示所有學(xué)生成績信息。

def s_display(students):
        print('1. 顯示全部信息')
        print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
        for stu in students:
            print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')

(2)新建學(xué)生成績信息函數(shù)

主要是新建學(xué)生成績信息,并更新保存學(xué)生成績信息的文件。

def s_new(students):
        print('2. 新建學(xué)生信息')
        name = str(input('請輸入學(xué)生的姓名:'))
        chinese = int(input('請輸入學(xué)生的語文成績:'))
        math = int(input('請輸入學(xué)生的數(shù)學(xué)成績:'))
        english = int(input('請輸入學(xué)生的英語成績:'))
        total = chinese + math + english
        stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
        students.append(stu)
        s_write_to_file(students)

(3)查詢學(xué)生成績信息函數(shù)

主要是查詢給定姓名的學(xué)生成績信息。

 
def s_find(students):
        print('3. 查詢學(xué)生信息')
        name = input('請輸入你要查詢學(xué)生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
                print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
                break
        else:
            print('該學(xué)生不存在, 請檢查名字是否輸入正確!')
        s_write_to_file(students)

(4)刪除學(xué)生成績信息函數(shù)

主要是刪除給定姓名的學(xué)生成績信息,并更新保存學(xué)生成績信息的文件。

def s_delect(students):
        print('4. 刪除學(xué)生信息')
        name = input('請輸入你要?jiǎng)h除學(xué)生的姓名:')
        for stu in students:
            if name == stu['name']:
                students.remove(stu)
                break
        else:
            print('該學(xué)生不存在, 請檢查名字是否輸入正確!')
        s_write_to_file(students)

(5)修改學(xué)生成績信息函數(shù)

主要是修改給定姓名的學(xué)生成績信息,并更新保存學(xué)生成績信息的文件。

 
def s_modify(students):
        print('5. 修改學(xué)生信息')
        name = input('請輸入你要修改學(xué)生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('(如果不想修改,直接回車!)')
                name = input('請重新輸入學(xué)生的姓名:')
                chinese = input('請重新輸入學(xué)生的語文成績:')
                math = input('請重新輸入學(xué)生的數(shù)學(xué)成績:')
                english = input('請重新輸入學(xué)生的英語成績:')
                if name:
                    stu['name'] = str(name)
                if chinese:
                    stu['chinese'] = int(chinese)
                if math:
                    stu['math'] = int(math)
                if english:
                    stu['english'] = int(english)
                stu['total'] = stu['chinese'] + stu['math'] + stu['english']
                break
        else:
            print('該學(xué)生不存在, 請檢查名字是否輸入正確!')
        s_write_to_file(students)

5.保存學(xué)生成績信息函數(shù)

主要實(shí)現(xiàn)學(xué)生成績信息的保存更新。

 
def s_write_to_file(students):
        f=open("students.txt","r+")
        for s  in students:
            f.write(str(s)+"\n")
        f.close()

完整源代碼

def s_write_to_file(students):
        f=open("students.txt","r+")
        for s  in students:
            f.write(str(s)+"\n")
        f.close()
def s_display(students):
        print('1. 顯示全部信息')
        print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
        for stu in students:
            print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
def s_new(students):
        print('2. 新建學(xué)生信息')
        name = str(input('請輸入學(xué)生的姓名:'))
        chinese = int(input('請輸入學(xué)生的語文成績:'))
        math = int(input('請輸入學(xué)生的數(shù)學(xué)成績:'))
        english = int(input('請輸入學(xué)生的英語成績:'))
        total = chinese + math + english
        stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
        students.append(stu)
        s_write_to_file(students)
def s_find(students):
        print('3. 查詢學(xué)生信息')
        name = input('請輸入你要查詢學(xué)生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
                print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
                break
        else:
            print('該學(xué)生不存在, 請檢查名字是否輸入正確!')
        s_write_to_file(students)
def s_delect(students):
        print('4. 刪除學(xué)生信息')
        name = input('請輸入你要?jiǎng)h除學(xué)生的姓名:')
        for stu in students:
            if name == stu['name']:
                students.remove(stu)
                break
        else:
            print('該學(xué)生不存在, 請檢查名字是否輸入正確!')
        s_write_to_file(students)
def s_modify(students):
        print('5. 修改學(xué)生信息')
        name = input('請輸入你要修改學(xué)生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('(如果不想修改,直接回車!)')
                name = input('請重新輸入學(xué)生的姓名:')
                chinese = input('請重新輸入學(xué)生的語文成績:')
                math = input('請重新輸入學(xué)生的數(shù)學(xué)成績:')
                english = input('請重新輸入學(xué)生的英語成績:')
                if name:
                    stu['name'] = str(name)
                if chinese:
                    stu['chinese'] = int(chinese)
                if math:
                    stu['math'] = int(math)
                if english:
                    stu['english'] = int(english)
                stu['total'] = stu['chinese'] + stu['math'] + stu['english']
                break
        else:
            print('該學(xué)生不存在, 請檢查名字是否輸入正確!')
        s_write_to_file(students)
if __name__=="__main__":
    s_info = """
*****************************************************
【學(xué)生成績管理系統(tǒng)】
                            q. 退出學(xué)生成績系統(tǒng)
                            1. 顯示學(xué)生成績信息
                            2. 新建學(xué)生成績信息                            
                            3. 查詢學(xué)生成績信息
                            4. 刪除學(xué)生成績信息
                            5. 修改學(xué)生成績信息
******************************************************"""
    students=[]
    f=open("students.txt","r+")
    for st in f.readlines():
        students.append(eval(st))
    f.close()
    while True:
        print(s_info)
        handle = input('請選擇你要的操作選項(xiàng):')
        if handle == 'q':
            print('q. 退出系統(tǒng)')
            break
        elif handle == '1':            
            s_display(students)
        elif handle == '2':
            s_new(students)
        elif handle == '3':
            s_find(students)       
        elif handle == '4':
            s_delect(students)
        elif handle == '5':
            s_modify(students)         
        else:
            print('請輸入正確的操作選項(xiàng)!')

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Python交互式圖形編程的實(shí)現(xiàn)

    Python交互式圖形編程的實(shí)現(xiàn)

    這篇文章主要介紹了Python交互式圖形編程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python執(zhí)行子進(jìn)程實(shí)現(xiàn)進(jìn)程間通信的方法

    python執(zhí)行子進(jìn)程實(shí)現(xiàn)進(jìn)程間通信的方法

    這篇文章主要介紹了python執(zhí)行子進(jìn)程實(shí)現(xiàn)進(jìn)程間通信的方法,涉及Python使用subprocess模塊操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • python 基于pygame實(shí)現(xiàn)俄羅斯方塊

    python 基于pygame實(shí)現(xiàn)俄羅斯方塊

    這篇文章主要介紹了python 基于pygame實(shí)現(xiàn)俄羅斯方塊的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python中AND、OR的一個(gè)使用小技巧

    Python中AND、OR的一個(gè)使用小技巧

    這篇文章主要介紹了Python中AND、OR的一個(gè)使用小技巧,需要的朋友可以參考下
    2015-02-02
  • Python基礎(chǔ)之內(nèi)置模塊詳解

    Python基礎(chǔ)之內(nèi)置模塊詳解

    Python內(nèi)置的模塊有很多,我們也已經(jīng)接觸了不少相關(guān)模塊,接下來咱們就來做一些項(xiàng)目開發(fā)中常用的模塊匯總和介紹,需要的朋友可以參考下
    2021-06-06
  • Django項(xiàng)目如何給數(shù)據(jù)庫添加約束

    Django項(xiàng)目如何給數(shù)據(jù)庫添加約束

    這篇文章主要介紹了Django項(xiàng)目如何給數(shù)據(jù)庫添加約束,幫助大家更好的理解和學(xué)習(xí)使用Django框架,感興趣的朋友可以了解下
    2021-04-04
  • 五個(gè)Python命令使用的小妙招分享

    五個(gè)Python命令使用的小妙招分享

    平常在使用python命令過程中,基本上都是用來安裝python庫時(shí)才使用到在控制臺的python命令。然而,python命令還有更多的妙用,本文就來為大家詳細(xì)講講
    2022-07-07
  • python基于selenium爬取斗魚彈幕

    python基于selenium爬取斗魚彈幕

    這篇文章主要介紹了python如何基于selenium爬取斗魚彈幕,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • python射線法判斷檢測點(diǎn)是否位于區(qū)域外接矩形內(nèi)

    python射線法判斷檢測點(diǎn)是否位于區(qū)域外接矩形內(nèi)

    這篇文章主要為大家詳細(xì)介紹了python射線法判斷檢測點(diǎn)是否位于區(qū)域外接矩形內(nèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • python處理cookie詳解

    python處理cookie詳解

    Cookie用于服務(wù)器實(shí)現(xiàn)會(huì)話,用戶登錄及相關(guān)功能時(shí)進(jìn)行狀態(tài)管理,本文介紹了使用python處理cookie的方法,需要的朋友可以參考下
    2014-02-02

最新評論