1. 簡(jiǎn)易學(xué)生信息管理系統(tǒng)(Python版)

        共 15166字,需瀏覽 31分鐘

         ·

        2022-11-29 05:47

        點(diǎn)擊上方“菜學(xué)Python”,選擇“星標(biāo)公眾號(hào)

        超級(jí)無(wú)敵干貨,第一時(shí)間送達(dá)!?。?/span>


        來(lái)源于網(wǎng)絡(luò),侵刪

        一、系統(tǒng)簡(jiǎn)介

        實(shí)現(xiàn)一個(gè)學(xué)生信息的管理系統(tǒng):主要功能有:

        1. 添加學(xué)生信息
        2. 刪除學(xué)生信息
        3. 修改學(xué)生信息
        4. 查詢學(xué)生信息
        5. 顯示學(xué)生信息
        6. 退出當(dāng)前系統(tǒng)

        二、步驟分析

        1. 顯示功能界面
        2. 用戶輸入功能序號(hào)
        3. 對(duì)不同序號(hào)的功能實(shí)現(xiàn)具體函數(shù)(3.1 定義函數(shù)、3.2 調(diào)用函數(shù))

        三、需求實(shí)現(xiàn)

        1. 顯示功能界面info_print()
        2. 用戶輸入功能序號(hào) user_num = eval(input('請(qǐng)輸入功能序號(hào):'))
        3. 按照用戶輸入的功能序號(hào),執(zhí)行不同的功能(函數(shù))
        4. 添加學(xué)生信息add_info()
        5. 刪除學(xué)生信息del_info()
        6. 修改學(xué)生信息modify_info()
        7. 查詢學(xué)生信息search_info()
        8. 顯示學(xué)生信息print_all()

        四、具體實(shí)現(xiàn)

        系統(tǒng)功能需要循環(huán)使用,直到用戶輸入6,才退出系統(tǒng) 功能界面部分:

        # 定義一個(gè)函數(shù)
        def info_print():
            print('--------請(qǐng)選擇功能-----')
            print('1、添加學(xué)生')
            print('2、刪除學(xué)生')
            print('3、修改學(xué)生')
            print('4、查詢學(xué)生')
            print('5、顯示所有學(xué)生')
            print('6、退出系統(tǒng)')
            print('-' * 20)

        # 等待存儲(chǔ)所有學(xué)生的信息
        info = []

        主要部分代碼:

        while True:
            # 1、顯示功能界面
            info_print()
            
            # 2、用戶輸入功能序號(hào)
            user_num = eval(input('請(qǐng)輸入功能序號(hào):'))

            # 3、按照用戶輸入的功能序號(hào),執(zhí)行不同的功能(函數(shù))
            # 如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
            if user_num == 1:
                # print('添加學(xué)生')
            elif user_num == 2:
                # print('刪除學(xué)生')
            elif user_num == 3:
                # print('修改學(xué)生')
            elif user_num == 4:
               # print('查詢學(xué)生')
            elif user_num == 5:
                # print('顯示所有學(xué)生')
            elif user_num == 6:
                exit_flag = input("確定要退出嗎?yes/no?")
                if exit_flag == 'yes':
                    break
                # print('退出系統(tǒng)')
            else:
                print('輸入的功能序號(hào)有誤!')


        那么根據(jù)上面的代碼,需要實(shí)現(xiàn)具體的功能函數(shù),主要代碼部分如下:

        while True:
            # 1、顯示功能界面
            info_print()

            # 2、用戶輸入功能序號(hào)
            user_num = eval(input('請(qǐng)輸入功能序號(hào):'))

            # 3、按照用戶輸入的功能序號(hào),執(zhí)行不同的功能(函數(shù))
            # 如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
            if user_num == 1:
                add_info()
                # print('添加學(xué)生')
            elif user_num == 2:
                del_info()
                # print('刪除學(xué)生')
            elif user_num == 3:
                modify_info()
                # print('修改學(xué)生')
            elif user_num == 4:
                search_info()
                # print('查詢學(xué)生')
            elif user_num == 5:
                print_all()
                # print('顯示所有學(xué)生')
            elif user_num == 6:
                exit_flag = input("確定要退出嗎?yes/no?")
                if exit_flag == 'yes':
                    break
                # print('退出系統(tǒng)')
            else:
                print('輸入的功能序號(hào)有誤!')


        4.1 添加學(xué)生信息的函數(shù)

        def add_info():
            """添加學(xué)生函數(shù)"""
            # 接受用戶輸入學(xué)生信息
            # 1、用戶輸入:學(xué)號(hào)、姓名、手機(jī)號(hào)
            new_id = input("輸入學(xué)號(hào):")
            new_name = input("輸入姓名:")
            new_tel = input("輸入手機(jī)號(hào):")

            # 2、判斷是否添加這個(gè)學(xué)生,如果學(xué)生姓名已經(jīng)存在報(bào)錯(cuò)提示,如果不存在則添加數(shù)據(jù)
            global info
            # 2.1 不允許姓名重復(fù):判斷用戶輸入的姓名如果和列表里面字典的name值是相等的,則提示姓名重復(fù)
            for i in info:
                if new_name == i['name']:
                    print("此用戶已經(jīng)存在,請(qǐng)勿重復(fù)添加")
                    # return 退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行
                    return
            # 如果用戶輸入的姓名不存在,則添加該學(xué)生信息
            info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}
            # 將用戶輸入的數(shù)據(jù)追加到字典

            # 將這個(gè)學(xué)生的字典數(shù)據(jù)追加到列表
            info.append(info_dict)
            print(info)


        4.2 刪除學(xué)生信息的函數(shù)

        def del_info():
            """刪除學(xué)生"""
            # 1、用戶輸入要?jiǎng)h除的學(xué)生的姓名
            del_name = input("請(qǐng)輸入要?jiǎng)h除的學(xué)生的姓名:")

            global info
            # 2、判斷學(xué)生是否存在
            # 2.1 聲明info是全局變量
            # 2.2 遍歷列表
            # 2.3 判斷學(xué)生是否存在,存在則執(zhí)行刪除信息,break:不允許重名,那么刪除了一個(gè),后面的不需要再遍歷;不存在則提示
            for i in info:
                if del_name == i['name']:
                    info.remove(i)
                    break
            else:
                print('該學(xué)生不存在!')

            print(info)


        4.3 修改學(xué)生信息的函數(shù)

        def modify_info():
            """修改函數(shù)"""
            # 1、用戶輸入要修改的學(xué)生的姓名
            modify_name = input("請(qǐng)輸入要修改的學(xué)生的姓名:")
            global info

            # 2、判斷學(xué)生是否存在,如果輸入的姓名存在則修改手機(jī)號(hào),否則則提示
            for i in info:
                if modify_name == i['name']:
                    i['tel'] = input("請(qǐng)輸入新的手機(jī)號(hào):")
                    break
            else:
                print("該學(xué)生不存在")

            print(info)


        4.4 查詢學(xué)生信息的函數(shù)

        def search_info():
            """查詢學(xué)生信息"""
            # 1、輸入要查找的學(xué)生姓名
            search_name = input("請(qǐng)輸入要查找的學(xué)生姓名:")

            global info

            # 2、判斷學(xué)生是否存在,如果輸入的姓名存在則顯示該學(xué)生的信息,否則則提示
            for i in info:
                if search_name == i['name']:
                    print("找到該學(xué)生的信息如下:")
                    print(f"該學(xué)生的學(xué)號(hào)是{i['id']},姓名是{i['name']},手機(jī)號(hào)是{i['tel']}")
                    break
            else:
                print("該學(xué)生不存在!")



        4.5 顯示所有學(xué)生信息

        def print_all():
            """顯示所有學(xué)生信息"""
            print('學(xué)號(hào)\t姓名\t手機(jī)號(hào)')
            for i in info:
                print(f"{i['id']}\t{i['name']}\t{i['tel']}")



        五、運(yùn)行效果

        1. 添加和刪除學(xué)生信息:1.  修改和查詢學(xué)生信息1.  顯示所有學(xué)生信息和退出系統(tǒng)

        六、完整代碼

        # 定義一個(gè)函數(shù)
        def info_print():
            print('--------請(qǐng)選擇功能-----')
            print('1、添加學(xué)生')
            print('2、刪除學(xué)生')
            print('3、修改學(xué)生')
            print('4、查詢學(xué)生')
            print('5、顯示所有學(xué)生')
            print('6、退出系統(tǒng)')
            print('-' * 20)


        # 等待存儲(chǔ)所有學(xué)生的信息
        info = []


        # 1、添加學(xué)生信息的函數(shù)
        def add_info():
            """添加學(xué)生函數(shù)"""
            # 接受用戶輸入學(xué)生信息
            # 1、用戶輸入:學(xué)號(hào)、姓名、手機(jī)號(hào)
            new_id = input("輸入學(xué)號(hào):")
            new_name = input("輸入姓名:")
            new_tel = input("輸入手機(jī)號(hào):")

            # 2、判斷是否添加這個(gè)學(xué)生,如果學(xué)生姓名已經(jīng)存在報(bào)錯(cuò)提示,如果不存在則添加數(shù)據(jù)
            global info
            # 2.1 不允許姓名重復(fù):判斷用戶輸入的姓名如果和列表里面字典的name值是相等的,則提示姓名重復(fù)
            for i in info:
                if new_name == i['name']:
                    print("此用戶已經(jīng)存在,請(qǐng)勿重復(fù)添加")
                    # return 退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行
                    return
            # 如果用戶輸入的姓名不存在,則添加該學(xué)生信息
            info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}
            # 將用戶輸入的數(shù)據(jù)追加到字典

            # 將這個(gè)學(xué)生的字典數(shù)據(jù)追加到列表
            info.append(info_dict)
            print(info)


        # 2、刪除學(xué)生的信息
        def del_info():
            """刪除學(xué)生"""
            # 1、用戶輸入要?jiǎng)h除的學(xué)生的姓名
            del_name = input("請(qǐng)輸入要?jiǎng)h除的學(xué)生的姓名:")

            global info
            # 2、判斷學(xué)生是否存在
            # 2.1 聲明info是全局變量
            # 2.2 遍歷列表
            # 2.3 判斷學(xué)生是否存在,存在則執(zhí)行刪除信息,break:不允許重名,那么刪除了一個(gè),后面的不需要再遍歷;不存在則提示
            for i in info:
                if del_name == i['name']:
                    info.remove(i)
                    break
            else:
                print('該學(xué)生不存在!')

            print(info)


        # 3、修改學(xué)生的信息
        def modify_info():
            """修改函數(shù)"""
            # 1、用戶輸入要修改的學(xué)生的姓名
            modify_name = input("請(qǐng)輸入要修改的學(xué)生的姓名:")
            global info

            # 2、判斷學(xué)生是否存在,如果輸入的姓名存在則修改手機(jī)號(hào),否則則提示
            for i in info:
                if modify_name == i['name']:
                    i['tel'] = input("請(qǐng)輸入新的手機(jī)號(hào):")
                    break
            else:
                print("該學(xué)生不存在")

            print(info)


        # 4、查詢學(xué)生信息
        def search_info():
            """查詢學(xué)生信息"""
            # 1、輸入要查找的學(xué)生姓名
            search_name = input("請(qǐng)輸入要查找的學(xué)生姓名:")

            global info

            # 2、判斷學(xué)生是否存在,如果輸入的姓名存在則顯示該學(xué)生的信息,否則則提示
            for i in info:
                if search_name == i['name']:
                    print("找到該學(xué)生的信息如下:")
                    print(f"該學(xué)生的學(xué)號(hào)是{i['id']},姓名是{i['name']},手機(jī)號(hào)是{i['tel']}")
                    break
            else:
                print("該學(xué)生不存在!")


        # 5、顯示所有學(xué)生信息
        def print_all():
            """顯示所有學(xué)生信息"""
            print('學(xué)號(hào)\t姓名\t手機(jī)號(hào)')
            for i in info:
                print(f"{i['id']}\t{i['name']}\t{i['tel']}")


        # 系統(tǒng)功能需要循環(huán)使用,直到用戶輸入6,才退出系統(tǒng)
        while True:
            # 1、顯示功能界面
            info_print()

            # 2、用戶輸入功能序號(hào)
            user_num = eval(input('請(qǐng)輸入功能序號(hào):'))

            # 3、按照用戶輸入的功能序號(hào),執(zhí)行不同的功能(函數(shù))
            # 如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
            if user_num == 1:
                add_info()
                # print('添加學(xué)生')
            elif user_num == 2:
                del_info()
                # print('刪除學(xué)生')
            elif user_num == 3:
                modify_info()
                # print('修改學(xué)生')
            elif user_num == 4:
                search_info()
                # print('查詢學(xué)生')
            elif user_num == 5:
                print_all()
                # print('顯示所有學(xué)生')
            elif user_num == 6:
                exit_flag = input("確定要退出嗎?yes/no?")
                if exit_flag == 'yes':
                    break
                # print('退出系統(tǒng)')
            else:
                print('輸入的功能序號(hào)有誤!')




        推薦閱讀:

        入門: 最全的零基礎(chǔ)學(xué)Python的問(wèn)題  | 零基礎(chǔ)學(xué)了8個(gè)月的Python  | 實(shí)戰(zhàn)項(xiàng)目 |學(xué)Python就是這條捷徑


        干貨:爬取豆瓣短評(píng),電影《后來(lái)的我們》 | 38年NBA最佳球員分析 |   從萬(wàn)眾期待到口碑撲街!唐探3令人失望  | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個(gè)海量小姐姐素描圖 |碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


        趣味:彈球游戲  | 九宮格  | 漂亮的花 | 兩百行Python《天天酷跑》游戲!


        AI: 會(huì)做詩(shī)的機(jī)器人 | 給圖片上色 | 預(yù)測(cè)收入 | 碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


        小工具: Pdf轉(zhuǎn)Word,輕松搞定表格和水??! | 一鍵把html網(wǎng)頁(yè)保存為pdf!|  再見(jiàn)PDF提取收費(fèi)! | 用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換 | 制作一款釘釘?shù)蛢r(jià)機(jī)票提示器! |60行代碼做了一個(gè)語(yǔ)音壁紙切換器天天看小姐姐!



        年度爆款文案


        點(diǎn)閱讀原文,看B站80行代碼pdf轉(zhuǎn)word!

        瀏覽 85
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. www.久久伊人 | 中文字幕一区二区三区四区五区 | 人人操人人妻 | 大香蕉二区 | 中国毛片网 |