Python实现超简易的学生信息管理系统
发布日期:2021-05-08 02:11:28 浏览次数:24 分类:精选文章

本文共 6593 字,大约阅读时间需要 21 分钟。

Python实现超简易的学生信息管理系统

import pandas as pddata = [    {"ID":1001,"Name":"Mary","English_score":100,"Python_score":99,"C_score":96},    {"ID":1002,"Name":"Jack","English_score":98,"Python_score":92,"C_score":98},    {"ID":1003,"Name":"Lily","English_score":93,"Python_score":96,"C_score":94},    {"ID":1004,"Name":"Mike","English_score":95,"Python_score":96,"C_score":90},    {"ID":1005,"Name":"Rose","English_score":97,"Python_score":94,"C_score":92}]subject_dic = {    '1':'English_score','2':'Python_score','3':'C_score','4':'Total_score'}def insert():    while True:        ID = int(input('请输入要添加的学生ID:'))        if ID in [data[i]['ID'] for i in range(len(data))]:            print('ID:{}已经存在,请重新输入!'.format(ID))            res = input("是否继续添加学生信息?(Y/N):").title()            if res == 'Y':                continue            elif res == 'N':                break            else:                print('请输入正确的格式!')                continue        try:            Name = input('请输入要添加的学生姓名:').title()            English_score = int(input('请输入要添加的学生英语成绩:'))            Python_score = int(input('请输入要添加的学生Python成绩:'))            C_score = int(input('请输入要添加的学生C语言成绩:'))        except:            print('请输入正确的格式!')            continue        Total_score = English_score + Python_score + C_score        data.append({            "ID":ID,            "Name":Name,            "English_score":English_score,            "Python_score":Python_score,            "C_score":C_score,            "Total_score":Total_score        })        print('{}号学生信息添加成功!'.format(ID))        while True:            res = input("是否继续添加学生信息?(Y/N):").title()            if res == 'Y':                break            elif res == 'N':                break            else:                print('请输入正确的格式!')                continuedef search():    while True:        search_method = input('请输入查询方式:1-ID,2-姓名:')        if search_method == '1':            ID = input('请输入学生ID:')            if ID not in [str(data[i]['ID']) for i in range(len(data))]:                print('您查找的ID不存在!')            else:                search_lst = [item for item in data if str(item["ID"]) == ID]                search_lst[0]['Total_score'] = search_lst[0]['English_score'] + search_lst[0]['Python_score'] + search_lst[0]['C_score']                print("您要查询的学生信息为:\n{}".format(search_lst[0]))                search_lst.clear()        elif search_method == '2':            Name = input('请输入学生姓名:').title()            if Name not in [data[i]['Name'] for i in range(len(data))]:                print('您查找的姓名不存在!')            else:                search_lst = [item for item in data if item["Name"] == Name]                for item in search_lst:                    item['Total_score'] = item['English_score'] + item['Python_score'] + item['C_score']                    print("您要查询的学生信息为:\n{}".format(item))                search_lst.clear()        else:            print("您输入的方式有误,请重新查询!")        while True:            res = input("是否继续查询学生信息?(Y/N):").title()            if res == 'Y':                break            elif res == 'N':                break            else:                print('请输入正确的格式!')                continuedef delete():    while True:        ID = input('请输入要删除信息对应的学生ID:')        if ID not in [str(data[i]['ID']) for i in range(len(data))]:            print('您要删除的ID不存在!')        else:            delete_lst = [item for item in data if str(item["ID"]) == ID]            data.remove(delete_lst[0])            print('{}号学生的信息删除成功!'.format(ID))        while True:            res = input("是否继续删除学生信息?(Y/N):").title()            if res == 'Y':                break            elif res == 'N':                break            else:                print('请输入正确的格式!')                continuedef modify():    while True:        ID = input('请输入要修改信息对应的学生ID:')        if ID not in [str(data[i]['ID']) for i in range(len(data))]:            print('您要修改的ID不存在!')        else:            subject = input('请输入要修改的科目(1-English_score,2-Python_score,3-C_score):')            modified_score = input('请输入修改后的分数:')            if subject in ['1','2','3'] and modified_score.isdigit():                modify_lst = [index for index,item in enumerate(data) if item['ID'] == int(ID)]                data[modify_lst[0]][subject_dic[subject]] = int(modified_score)                print('{}号学生的{}成绩修改成功!'.format(ID,subject_dic[subject]))            else:                print('请输入正确的科目代码或分数!')        while True:            res = input("是否继续修改学生信息?(Y/N):").title()            if res == 'Y':                break            elif res == 'N':                break            else:                print('请输入正确的格式!')                continuedef sort():    while True:        subject = input('请输入按哪一个科目排序(1-English_score,2-Python_score,3-C_score,4-Total_score):')        data_ = pd.DataFrame(data)        data_['Total_score'] = data_['English_score'] + data_['Python_score'] + data_['C_score']        print(data_.sort_values(by = subject_dic[subject],ascending = False))        while True:            res = input("是否继续排序学生信息?(Y/N):").title()            if res == 'Y':                break            elif res == 'N':                break            else:                print('请输入正确的格式!')                continuedef show():    data_ = pd.DataFrame(data)    data_['Total_score'] = data_['English_score'] + data_['Python_score'] + data_['C_score']    print(data_.to_dict('records'))def update():    data_ = pd.DataFrame(data)    data_['Total_score'] = data_['English_score'] + data_['Python_score'] + data_['C_score']    return datamark = Truewhile mark:    print('''    ''')    print('='*10,'功能菜单','='*10)    print('''    1、录入学生信息    2、查找学生信息    3、删除学生信息    4、修改学生信息    5、排序    6、显示所有学生信息    0、退出    ''')    print('='*30)    res = int(input('请输入您想要执行的功能:'))    if res == 0:        mark = False    elif res == 1:        insert()    elif res == 2:        search()    elif res == 3:        delete()    elif res == 4:        modify()    elif res == 5:        sort()    elif res == 6:        show()    else:        print('请输入正确的功能!')    

运行结果如下:

========== 功能菜单 ==========1、录入学生信息2、查找学生信息3、删除学生信息4、修改学生信息5、排序6、显示所有学生信息0、退出==============================请输入您想要执行的功能:6ID  Name  English_score  Python_score  C_score  Total_score1001  Mary            100            99       96          2951002  Jack             98            92       98          2881003  Lily             93            96       94          2831004  Mike             95            96       90          2811005  Rose             97            94       92          283

还有几个小练习,后面继续码出来!

上一篇:Python宜昌房源数据获取与分析
下一篇:寻找手机手势解锁共有多少种解法

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月26日 23时05分36秒