Python制作简单的学生成绩管理系统

基本功能:

  • 能够实现学生成绩相关信息的输入、输出、查找、删除、修改等功能;(使用数据库对数据进行存取)
  • 输入并存储学生的信息:通过输入学生的学号、姓名、和分数,然后就可以把数据保存在建立的student文件里面。
  • 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上。
  • 查找学生信息:这个功能通过输入学号,查找该学生的信息,如果有该学号就输出该学生的信息,没有该学号就提示输入的学号不存在。
  • 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除。
  • 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面。
  • 实现效果:

    制作技巧

     1.定义变量

    (1)定义交互输入变量

    主要用于展示学生成绩管理系统的操作界面。

    (2)定义学生成绩信息变量

    主要用于学生成绩信息的存取。

    s_info = """
    *****************************************************
    
    【学生成绩管理系统】
                                q. 退出学生成绩系统
                                1. 显示学生成绩信息
                                2. 新建学生成绩信息                            
                                3. 查询学生成绩信息
                                4. 删除学生成绩信息
                                5. 修改学生成绩信息
                                
    ******************************************************"""
        students=[]

    2.读取学生成绩信息

    主要是从TXT文件中读取学生成绩信息,并保存到学生成绩变量中。

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

    3.循环等待操作指令并执行

    主要是循环等待输入的学生管理系统操作指令,获取到操作指令后执行对学生成绩信息的显示、新建、查询、删除、修改操作。

    while True:
            print(s_info)
            handle = input('请选择你要的操作选项:')
            if handle == 'q':
                print('q. 退出系统')
                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('请输入正确的操作选项!')

    4.编写操作指令执行函数

    (1)显示学生成绩信息函数

    主要功能是显示所有学生成绩信息。

    def s_display(students):
            print('1. 显示全部信息')
            print('姓名\t语文\t数学\t英语\t总分')
            for stu in students:
                print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')

    (2)新建学生成绩信息函数

    主要是新建学生成绩信息,并更新保存学生成绩信息的文件。

    def s_new(students):
            print('2. 新建学生信息')
            name = str(input('请输入学生的姓名:'))
            chinese = int(input('请输入学生的语文成绩:'))
            math = int(input('请输入学生的数学成绩:'))
            english = int(input('请输入学生的英语成绩:'))
            total = chinese + math + english
            stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
            students.append(stu)
            s_write_to_file(students)

    (3)查询学生成绩信息函数

    主要是查询给定姓名的学生成绩信息。

    
    def s_find(students):
            print('3. 查询学生信息')
            name = input('请输入你要查询学生的姓名:')
            for stu in students:
                if name == stu['name']:
                    print('姓名\t语文\t数学\t英语\t总分')
                    print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
                    break
            else:
                print('该学生不存在, 请检查名字是否输入正确!')
            s_write_to_file(students)

    (4)删除学生成绩信息函数

    主要是删除给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。

    def s_delect(students):
            print('4. 删除学生信息')
            name = input('请输入你要删除学生的姓名:')
            for stu in students:
                if name == stu['name']:
                    students.remove(stu)
                    break
            else:
                print('该学生不存在, 请检查名字是否输入正确!')
            s_write_to_file(students)

    (5)修改学生成绩信息函数

    主要是修改给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。

    
    def s_modify(students):
            print('5. 修改学生信息')
            name = input('请输入你要修改学生的姓名:')
            for stu in students:
                if name == stu['name']:
                    print('(如果不想修改,直接回车!)')
                    name = input('请重新输入学生的姓名:')
                    chinese = input('请重新输入学生的语文成绩:')
                    math = input('请重新输入学生的数学成绩:')
                    english = input('请重新输入学生的英语成绩:')
                    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('该学生不存在, 请检查名字是否输入正确!')
            s_write_to_file(students)

    5.保存学生成绩信息函数

    主要实现学生成绩信息的保存更新。

    
    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数学\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. 新建学生信息')
            name = str(input('请输入学生的姓名:'))
            chinese = int(input('请输入学生的语文成绩:'))
            math = int(input('请输入学生的数学成绩:'))
            english = int(input('请输入学生的英语成绩:'))
            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. 查询学生信息')
            name = input('请输入你要查询学生的姓名:')
            for stu in students:
                if name == stu['name']:
                    print('姓名\t语文\t数学\t英语\t总分')
                    print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
                    break
            else:
                print('该学生不存在, 请检查名字是否输入正确!')
            s_write_to_file(students)
    
    def s_delect(students):
            print('4. 删除学生信息')
            name = input('请输入你要删除学生的姓名:')
            for stu in students:
                if name == stu['name']:
                    students.remove(stu)
                    break
            else:
                print('该学生不存在, 请检查名字是否输入正确!')
            s_write_to_file(students)
    
    def s_modify(students):
            print('5. 修改学生信息')
            name = input('请输入你要修改学生的姓名:')
            for stu in students:
                if name == stu['name']:
                    print('(如果不想修改,直接回车!)')
                    name = input('请重新输入学生的姓名:')
                    chinese = input('请重新输入学生的语文成绩:')
                    math = input('请重新输入学生的数学成绩:')
                    english = input('请重新输入学生的英语成绩:')
                    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('该学生不存在, 请检查名字是否输入正确!')
            s_write_to_file(students)
                
    
    if __name__=="__main__":
        s_info = """
    *****************************************************
    
    【学生成绩管理系统】
                                q. 退出学生成绩系统
                                1. 显示学生成绩信息
                                2. 新建学生成绩信息                            
                                3. 查询学生成绩信息
                                4. 删除学生成绩信息
                                5. 修改学生成绩信息
                                
    ******************************************************"""
        students=[]
        f=open("students.txt","r+")
        for st in f.readlines():
            students.append(eval(st))
        f.close()
        while True:
            print(s_info)
            handle = input('请选择你要的操作选项:')
            if handle == 'q':
                print('q. 退出系统')
                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('请输入正确的操作选项!')

    结尾:

     今天的分享就到这里,喜欢就点个吧!

    需要完整的项目源码的可以私信我即可哟!或者点击这行蓝色字体

    来源:迢迢x

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python制作简单的学生成绩管理系统

    发表评论