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

目录

一、需求分析

        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 型,所以需要进行数据类型转换

  • 103
    点赞
  • 980
    收藏
    觉得还不错? 一键收藏
  • 33
    评论
好的,我可以为您讲解一下Python学生信息管理系统的代码。 首先,我们需要定义一个学生类,包含学生的姓名、学号、性别和成绩等信息。代码如下: ```python class Student: def __init__(self, name, id, gender, score): self.name = name self.id = id self.gender = gender self.score = score ``` 接着,我们需要定义一个管理系统类,包含添加学生、删除学生、修改学生信息、查询学生信息等功能。代码如下: ```python class StudentManagementSystem: def __init__(self): self.students = [] def add_student(self, student): self.students.append(student) def remove_student(self, id): for student in self.students: if student.id == id: self.students.remove(student) def modify_student(self, id, name, gender, score): for student in self.students: if student.id == id: student.name = name student.gender = gender student.score = score def query_student(self, id): for student in self.students: if student.id == id: return student def query_all_students(self): return self.students ``` 在主函数中,我们可以通过用户输入来实现对学生信息的操作,如添加学生、删除学生、修改学生信息、查询学生信息等。代码如下: ```python def main(): sms = StudentManagementSystem() while True: print("1. Add student") print("2. Remove student") print("3. Modify student information") print("4. Query student information") print("5. Query all students") print("0. Exit") choice = int(input("Please enter your choice: ")) if choice == 1: name = input("Please enter student name: ") id = input("Please enter student id: ") gender = input("Please enter student gender: ") score = input("Please enter student score: ") student = Student(name, id, gender, score) sms.add_student(student) elif choice == 2: id = input("Please enter student id: ") sms.remove_student(id) elif choice == 3: id = input("Please enter student id: ") name = input("Please enter student name: ") gender = input("Please enter student gender: ") score = input("Please enter student score: ") sms.modify_student(id, name, gender, score) elif choice == 4: id = input("Please enter student id: ") student = sms.query_student(id) if student: print("{}, {}, {}, {}".format(student.name, student.id, student.gender, student.score)) else: print("No such student") elif choice == 5: students = sms.query_all_students() for student in students: print("{}, {}, {}, {}".format(student.name, student.id, student.gender, student.score)) elif choice == 0: break else: print("Invalid choice, please try again") if __name__ == "__main__": main() ``` 以上就是Python学生信息管理系统的代码讲解,通过这个简单的例子,我们可以学习到Python面向对象编程的基础知识。
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值