Python小项目——学生信息管理系统(详细讲解)

本文详述了一个使用Python开发的学生信息管理系统,包括需求分析、系统设计、开发工具、主函数、信息维护、查询统计、排序功能以及项目总结。系统涵盖了录入、删除、修改学生信息,查询、统计学生总人数,按成绩排序等功能,旨在锻炼Python编程和文件操作能力。
摘要由CSDN通过智能技术生成

目录

一、需求分析

        1、学生管理系统应具备的功能

二、系统设计

1、系统功能结构

2、系统业务流程

三、系统开发必备工具 

        1、系统开发环境

        2、项目目录结构

 四、主函数设计

         1、系统主界面运行效果图

        2、主函数的业务流程

         3、实现主函数

        4、代码与结果演示及讲解

  五、学生信息维护模式设计

        1、录入学生信息功能

                1、1实现录入学生信息功能

                1、2业务流程

                1、3具体实现 

                1、4代码与结果演示及讲解

        2、删除学生信息功能

                2、1实现删除学生信息功能

                2、2业务流程

                2、3具体实现 

                2、4代码与结果演示及讲解

        3、修改学生信息功能

                3、1实现学生信息修改功能

                3、2业务流程

                3、3具体实现

                 3、4代码与结果演示及讲解

六、查询/统计模块设计

        1、查找学生信息功能

                1、1实现查询学生信息功能

                1、2业务流程

​                        1、3具体实现 

                         1、4代码与结果演示及讲解

        2、统计学生总人数

                2、1实现统计学生总人数功能

                2、2业务流程

                2、3具体实现

                2、4 代码与结果演示及讲解

        3、显示所有学生信息功能

                3、1实现显示所有学生信息功能

                3、2业务流程

                3、3具体实现

                3、4代码与结果演示及讲解

七、排序模块设计

        1、排序模块的设计

                1、1实现按学生成绩排序功能

                1、2业务流程

                1、3具体实现

                   1、4代码与结果演示及讲解

 八、总结


一、需求分析

        1、学生管理系统应具备的功能

                ①添加学生及成绩信息

                ②将学生信息保存到文件中

                ③修改和删除学生信息

                ④查询学生信息

                ⑤根据学生成绩进行排序

                ⑥统计学生的总分

二、系统设计

1、系统功能结构

        1.1学生信息管理系统的7大模块

                ①录入学生信息模块(insert())

                ②查找学生信息模块(search())

                ③删除学生信息模块(delete())

                ④修改学生信息模块(modify())

                ⑤学生成绩排名模块(sort())

                ⑥统计学生总人数模块(total())

                ⑦显示全部学生信息模块

2、系统业务流程

三、系统开发必备工具 

        1、系统开发环境

                操作系统:win7

                Python解释器版本:Python3.8

                开发工具:PyCharm

                Python内置模块:os,re

        2、项目目录结构

                

 四、主函数设计

         1、系统主界面运行效果图

        2、主函数的业务流程

         3、实现主函数

        4、代码与结果演示及讲解

                ①实现主函数之前要先把主菜单函数设计好,及我们的menum();菜单设计相对简单,只需要根据我们的设计,照样输出即可。

def menum():#菜单
    print("===========================学生信息管理系统==========================")
    print('-------------------------------功能菜单----------------------------')
    print('\t\t\t\t\t\t1.录入学生信息')
    print('\t\t\t\t\t\t2.查找学生信息')
    print('\t\t\t\t\t\t3.删除学生信息')
    print('\t\t\t\t\t\t4.修改学生信息')
    print('\t\t\t\t\t\t5.对学生成绩排序')
    print('\t\t\t\t\t\t6.统计学生总人数')
    print('\t\t\t\t\t\t7.显示所有学生总数')
    print('\t\t\t\t\t\t0.退出系统')
    print('-----------------------------------------------------------------------')

                 ②在主函数中显示主菜单,然后进行循环,因为信息可以一直加,所以循环采用的是while True:,然后再根据所输入的数字,进入对应的函数实现相应的功能。具体的函数功能可以慢慢的实现,先把框架搭建起来。

def main():#主函数
    while True:
        menum()
        choice=int(input('请选择:'))
        if choice in [0,1,2,3,4,5,6,7]:
            if choice==0:
                answer=input('您确定要退出系统吗?y/n')
                if answer=='y':
                    #print('谢谢您的使用')
                    break
                else :
                    continue
            elif choice==1:
                insert()
            elif choice==2:
                search()
            elif choice==3:
                delete()
            elif choice==4:
                modify()
            elif choice==5:
                sort()
            elif choice==6:
                total()
            elif choice==7:
                show()
        else:
            print('您输入的有误,请重新输入')
            main()

 

  五、学生信息维护模式设计

        1、录入学生信息功能

                1、1实现录入学生信息功能

                        从控制台录入学生信息,并且把它们保存到磁盘中

                1、2业务流程

                1、3具体实现 

 

                1、4代码与结果演示及讲解

def insert():#插入
    student_lst=[]#声明一个列表,用于存储学生信息
    while True:
        id=input('请输入id(如1001):')
        if not id:#如果输入为空,那么id的值为False,就进入不了循环,所以加一个not即可判断是否为空
            break
        name=input('请输入名字(如张三):')
        if not name:
            break
        try:
            english=int(input('请输入英语成绩:'))
            python = int(input('请输入python成绩:'))
            java = int(input('请输入java成绩:'))
        except:
            print('您输入的有误,请重新输入')
            continue

        #将录入的学生信息保存到字典中
        student={'id':id,'name':name,'english':english,'python':python,'java':java}
        student_lst.append(student)
        answer=input('是否继续添加?y/n')
        if answer=='y':
            continue
        else:
            break

    #调用save()函数
    save(student_lst)
    print('学生信息完毕!!!')
def save(lst):
    try:
        stu_text=open(filename,'a',encoding='utf-8')#打开文件,以追加的形式
    except:
        stu_text=open(filename,'w',encoding='utf-8')#以只写的形式打开文件
    for item in lst:
        stu_text.write(str(item)+'\n')
    stu_text.close()

 

                        ① 先声明一个列表,用来存储学生信息

                        ②根据流程,在一个while:True的循环中输入学生id,为了防止输入为空,要进行一个判断是否为空,如果为空,则其bool值为False,所以进行的是not id 判断;对姓名同样如此,但是对成绩则不一样,因为成绩只能为整数,为了防止用户输入错误,这里采用异常处理,提示用户输入错误;然后再将学生的信息保存到字典当中(因为字典是以键值对的形式存储的),然后再将字典中的值添加到最初声明的列表中;添加之后要保存到磁盘中,这时候就要调用save函数了;

                        ③save进行将数据存入磁盘中,当文件存在时,以追加的形式打开,如果文件不存在则以写的形式打开存储到一个变量当中,然后遍历列表,将数据存入磁盘之中;因为成绩是int 型,所以需要进行数据类型转换

这代码是一个简单的学生管理系统,包括添加学生信息、删除学生信息、修改学生信息和显示所有学生信息的功能。这个系统的主要功能是通过定义一个print_menu()函数来打印出学生管理系统的菜单选项,并在主函数main()中调用print_menu()函数来显示菜单。在添加学生信息的功能中,通过插入用户输入的学生信息来保存到一个列表中,并通过调用save()函数将学生信息保存到文件中。而在修改学生信息的功能中,先展示出所有学生信息,然后通过用户输入的学生id来找到要修改的学生信息,再通过用户的输入来修改学生的相关信息,并将修改后的学生信息保存到文件中。所以这段代码实现了一个简单的学生信息的存储和管理功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python学生信息管理系统](https://blog.csdn.net/qq_51478745/article/details/127165054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python项目——学生信息管理系统详细讲解)](https://blog.csdn.net/qq_41404557/article/details/122406114)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值