Python:学习成绩管理系统

这篇具有很好参考价值的文章主要介绍了Python:学习成绩管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、需求分析

1、概念设计

2、流程图设计

3、主界面设计

二、功能实现

1、主函数定义

2、录入学生信息

(1)功能实现

(2)输出界面

​3、删除学生信息

(1)功能实现

(2)输出界面

4、修改学生信息

(1)功能实现

(2)输出界面

5、查找学生信息

(1)功能实现

(2)输出界面 

6、排序

(1)功能实现

(2)输出界面

7、统计学生总人数

(1)功能实现

(2)输出界面

8、显示所有学生信息

(1)功能实现

(2)输出界面

三、项目打包 

四、总结


前言

对于此系统我所使用的是window11系统,所用python解释器版本:python3.8,建议在pycharm进行

编写.基于对Python基础知识的掌握,对学生成绩管理系统进行全方位刨析,一步一步讲解,希望对

有需要的人有所帮助。

一、需求分析

1、概念设计

        针对学生们对自己成绩的查询便捷性,自主编写了一套简易的班级学习成绩管理系统。其中学生成绩管理系统主要包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、统计学生总数、显示学生信息,这几项功能。其中录入学生的信息包括学号、姓名、C语言程序设计成绩、Python成绩、Java成绩、绩点;查询学生信息分为按学号和按姓名查找两种;删除学生信息是输入学号进行查找,查找到学生信息之后,对学生信息进行删除;修改学生信息是输入学号后,查询到学生信息之后,对学生信息进行修改;排序学生信息的排序方式可选择升序和降序,可选择按C语言程序设计成绩、Python成绩、Java成绩、绩点进行排序;统计学生总数 就是输出信息管理系统中有几个学生的信息。学生成绩管理系统,说难也难,说简单也简单,对于初学者的我们也算一项不小的挑战了,对于这个系统,它的功能等等很多,所以我们需要有一个大概的思路,来让我们更好的完成它。

2、流程分析

python学生成绩管理系统,Python,python,开发语言

编号 功能
0 退出系统
1 录入学生信息insert()
2 查找学生信息search()
3 删除学生信息delete()
4 修改学生信息modity()
5 排序sort()
6 统计学生总人数total()
7 显示所有学生信息show()

3、主界面设计

大致样式如图所示:

python学生成绩管理系统,Python,python,开发语言

 代码:

import os
def main ():
    while True:
        menu()                                         //调用菜单函数
        choice=int(input('请选择:'))
        if choice in [0,1,2,3,4,5,6,7]:
            if choice==0:
                answer = input ('请确定要退出系统?y/n:')
                if answer == 'y' or 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('请正确输入数字!')
def menu():
    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 ('-------------------------------------------------------------')

if __name__ == '__main__':                //程序开始运行
    main()

二、功能实现

1、主函数定义

用户根据输入功能模块对应的数字编号进行操作,功能使用完成后再次返回主页面。用户如果输入数字0后,根据提示输入y则退出系统,否则继续返回主界面

def main ():
    while True:
        menu()
        choice=int(input('请选择:'))
        if choice in [0,1,2,3,4,5,6,7]:
            if choice==0:
                answer = input ('请确定要退出系统?y/n:')
                if answer == 'y' or 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('请正确输入数字!')

2、录入学生信息

录入学生信息函数代码部分,在这个函数中实现的功能是录入学生信息,包括学号、姓名、C语言成绩、Python成绩、Java成绩,并将其写入文件中,每一行为一个学生的信息存储。

(1)功能实现

def insert():                  //插入学生信息功能
    stu_lst = []
    while True:
        no=int(input('请输入学号(例如1001):'))
        if not no:
            break
        name=input('请输入姓名:')
        if not name:
            break
        try:
            c = int (input ('请输入C语言成绩:'))
            python = int (input ('请输入Python的成绩:'))
            java = int (input ('请输入Java的成绩:'))
        except:
            print('输入无效,请重新输入!')
            continue
        student={'id':no,'name':name,'C语言':c,'Python':python,'Java':java}
        stu_lst.append(student)
        save (stu_lst)
        print ('信息录入成功!')
        stu_lst.clear()
        choice=input('是否继续?y/n:')
        if choice=='y' or choice=='Y':
            continue
        else:
            break

def save(lst):                      //存储列表数据
    try:
        stu_txt=open(filename,'a',encoding='utf-8')
    except:
        stu_txt=open(filename,'w',encoding='utf-8')
    for item in lst:
        stu_txt.write(str(item)+'\n')
    stu_txt.close()

(2)输出界面

python学生成绩管理系统,Python,python,开发语言

3、删除学生信息

删除学生信息函数代码部分,此函数主要功能是执行删除操作,输入学号进行查找,查找到学生信息之后,对学生信息进行删除。

(1)功能实现

def delete():                            //删除学生信息功能
    while True:
        student_id=int(input('请输入学生的id:'))
        if student_id:
            if os.path.exists(filename):
                with open(filename,'r',encoding='utf-8') as file:
                    student_old = file.readlines()
            else:
                student_old=[]
            flag=False
            if student_old:
                with open(filename,'w',encoding='utf-8') as files:
                    for item in student_old:
                        d = dict (eval (item))
                        if d['id']!=student_id:
                            files.write(str(d)+'\n')
                        else:
                            flag=True
                    if flag:
                        print (f'学号为{student_id}的学生信息已删除!')
                    else:
                        print (f'没有找到id为{student_id}的学生信息')
            else:
                print('无学生记录')
                break
            show()
            choice = input ('是否继续?y/n:')
            if choice == 'y':
                continue
            else:
                break
def show():                                   //显示文本中的数据
    student_lst=[]
    if os.path.exists(filename):
        with open(filename,'r',encoding='utf-8') as file:
            student=file.readlines()
            for item in student:
                student_lst.append(eval(item))
            if student_lst:
                show_student(student_lst)
    else:
        print('暂未保存学生数据!')

(2)输出界面

python学生成绩管理系统,Python,python,开发语言

4、修改学生信息

修改学生信息函数代码部分,此函数的主要功能是对学生信息进行修改,当输入学号后,查询到学生信息之后,对学生各科成绩进行修改。

(1)功能实现

def modify():                
    show()
    if os.path.exists(filename):
        with open(filename,'r',encoding='utf-8') as file:
            student_lst=file.readlines()
    else:
        return
    student_id=int(input('请输入学生id:'))
    with open(filename,'w',encoding='utf-8') as file1:
        for item in student_lst:
            d = dict (eval (item))
            if d ['id'] == student_id:
                print(f'已经找到id为{student_id}的学生')
                while True:
                    try:
                        d ['name'] = input ('请输入学生姓名:')
                        d ['C语言'] = int (input ('请输入C语言成绩:'))
                        d ['Python'] = int (input ('请输入Python的成绩:'))
                        d ['Java'] = int (input ('请输入Java的成绩:'))
                    except:
                        print('输入的信息有误,重新输入!!')
                    else:
                        break
                file1.write(str(d)+'\n')
                print('修改信息成功!!!!!!!')
            else:
                file1.write(str(d)+'\n')
        switch = input ('是否要修改信息?y/n:')
        if switch == 'y':
            modify()

(2)输出界面

 python学生成绩管理系统,Python,python,开发语言

5、查找学生信息

查询学生信息函数代码部分,此函数主要功能是查询时分为按学号和按姓名查询两种,若查无此人则输出“l列表中无此学生信息”。

(1)功能实现

def search():                  //定义查找学生信息函数
    search_qurry=[]
    while True:
        id=''
        name=''
        if os.path.exists(filename):
            choice = int (input ('Id查询请按1,名字查询请按2:'))
            if choice == 1:
                id=int(input('请输入学生id:'))
            elif choice==2:
                name=input('请输入学生姓名:')
            else:
                print('输入有误,重新输入!')
                search()
            with open(filename,'r',encoding='utf-8') as file:
                student_lst=file.readlines()
                for item in student_lst:
                    d = dict (eval (item))
                    if id!='':
                        if d['id']==id:
                            search_qurry.append(d)
                    elif name!='':
                        if d['name']==name:
                            search_qurry.append(d)
            show_student(search_qurry)
            search_qurry.clear()
        a=input('是否继续查找?y/n:')
        if a=='y':
            continue
        else:
            break

def show_student(lst):                        //显示学生成绩列表
    if len(lst)==0:
        print('列表中无此学生的信息')
        return
    student_title='{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}'
    print(student_title.format('ID','姓名','C语言成绩','Python成绩','Java成绩','绩点'))
    student_data='{:^6}\t{:^12}\t{:^8}\t{:^8}\t{:^8}\t{:^8}'
    for item in lst:
        print(student_data.format(item.get('id'),item.get('name'),item.get('C语言'),item.get('Python'),item.get('Java'),round((int(item.get('C语言'))+int(item.get('Python'))+int(item.get('Java'))-180)/30,2)))
    print ('\n')

(2)输出界面

python学生成绩管理系统,Python,python,开发语言

6、排序

排序学生信息函数功能是对学生信息进行排序,排序方式可选择升序和降序,排序条件可选择按英C语言、Python、Java成绩以及三门成绩折算的绩点进行排序。

(1)功能实现

def sort():
   show()
   if os.path.exists(filename):
       with open(filename,'r',encoding='utf-8')as file:
           student_lst=file.readlines()
       student_new=[]
       for item in student_lst:
           d=dict(eval(item))
           student_new.append(d)
   else:
       return
   switch=input('排序方式(0.升序,1.降序)')
   if switch=='0':
       switch_bool=False
   elif switch=='1':
       switch_bool=True
   else:
       print('输入错误!')
       sort()
   choice=input('请选择排序方式(1.C语言成绩,2.Python成绩,3.Java成绩,4.绩点)')
   if choice=='1':
       student_new.sort(key=lambda x:int(x['C语言']),reverse=switch_bool)
   elif choice=='2':
       student_new.sort (key=lambda x: int (x ['Python']), reverse=switch_bool)
   elif choice=='3':
       student_new.sort (key=lambda x: int (x ['Java']), reverse=switch_bool)
   elif choice=='4':
       student_new.sort (key=lambda x: round((int (x ['C语言'])+int (x ['Python'])+int (x ['Java'])),2), reverse=switch_bool)
   else:
       print('选择错误!重新输入')
       sort()
   show_student(student_new)

(2)输出界面

python学生成绩管理系统,Python,python,开发语言

7、统计学生总人数

统计学生总数函数代码部分,此函数主要是输出信息管理系统存储数据文本文件中有几个学生的信息。

(1)功能实现

def total():
    if os.path.exists(filename):
        with open(filename,'r',encoding='utf-8') as file:
            students=file.readlines()
            if students:
                print('系统内有{}个学生'.format(len(students)))
            else:
                print('系统内无学生记录!')
    else:
        print('暂未保存学生信息!')

(2)输出界面

python学生成绩管理系统,Python,python,开发语言

8、显示所有学生信息

显示学生信息函数代码部分,此函数是将文件存储的学生信息全部显示出来(学号、姓名、C语言成绩、Python成绩、Java成绩、绩点)

(1)功能实现

def show_student(lst):
    if len(lst)==0:
        print('列表中无此学生的信息')
        return
    student_title='{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}'
    print(student_title.format('ID','姓名','C语言成绩','Python成绩','Java成绩','绩点'))
    student_data='{:^6}\t{:^12}\t{:^8}\t{:^8}\t{:^8}\t{:^8}'
    for item in lst:
        print(student_data.format(item.get('id'),item.get('name'), item.get('C语言'),item.get('Python'),item.get('Java'),round((int(item.get('C语言'))+int(item.get('Python'))+int(item.get('Java'))-180)/30,2)))
    print ('\n')

(2)输出界面

python学生成绩管理系统,Python,python,开发语言

三、项目打包 

项目打包:
安装第三方模块:1,按win+R,输入cmd,打开cmd命令界面,

                                  在线安装模式:pip install Pyinstaller

                              2,执行打包操作      

pyinstaller -F E:\PyhonProject\Chap1\system.py

四、总结

如果有特殊要求,代码复制后可自行更改。相信看完后对Python的知识有更进一步的认识,希望对初学者和小白有一定的基础。谢谢!文章来源地址https://www.toymoban.com/news/detail-789091.html

到了这里,关于Python:学习成绩管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于python的学生成绩管理,用python做成绩管理系统

    大家好,给大家分享一下python编写一个简单的学生成绩管理程序,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 概述 在本篇文章中,我们将探讨如何使用Python编程语言创建一个简单但功能齐全的学生成绩管理系统。该系统将允许我们添加新的学生、删除

    2024年02月03日
    浏览(31)
  • 96 | Python 小项目—— 学生成绩管理系统

    学生成绩管理系统是一个简单的学生课程管理系统,旨在帮助学校或教育机构轻松管理学生的成绩和课程信息。系统提供了登录界面,只有管理员可以访问数据。通过创建一个CSV文件来存储学生信息,可以对数据进行修改和读取。系统使用TKINTER库创建了用户界面,实现了学生

    2024年02月13日
    浏览(33)
  • 基于Python+Django实现的学生成绩管理系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码   语言环境:Python3.7 数据库:

    2024年02月11日
    浏览(30)
  • 基于Python Web的学生成绩管理系统--文档

    分享一个基于Python web的学生成绩管理系统文档,方便各位毕业学子参考。 在学校中,教学是学校的重大职能之一,教学管理也是非常重要的管理活动,而成绩管理作为教育管理的核心之一是尤为重要的。随着时代的变化、科技的日益发展,教学工作逐步信息、科技化,学生

    2023年04月08日
    浏览(26)
  • (附源码)python学生成绩管理系统 毕业设计 061011

    python学生成绩管理系统的设计与实现 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用python技术建设学生成绩管理系统。 本设计

    2024年02月04日
    浏览(32)
  • Python入门——学生成绩管理系统(录入、查找、删除、修改、排序、统计、显示)

    学生成绩管理系统主要包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序、统计学生总人数、显示学生信息和退出系统。 系统界面编写(菜单显示函数): main函数:  录入学生信息函数: 查找学生信息函数: 删除学生信息函数:  修改学生信息函数

    2024年02月11日
    浏览(30)
  • 学生信息及成绩管理系统(Python+Sqlite)数据库版

    目录 功能模块: 运行功能演示:  具体代码实现过程: 创建sqlite 数据库  Python代码 引入os和sqlite3包: 初始化数据库: 连接数据库: 关闭并提交数据到数据库: 查询数据并显示: 添加并插入数据到数据库: 更新数据到数据库: 删除数据并更新数据库:  导入和导出数据

    2024年02月04日
    浏览(36)
  • (附源码)基于python的学生成绩管理系统 毕业设计071143

    Django学生成绩管理 摘 要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革、多样性、质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化。依照这一现实为基础,设计一个快捷而又方便的线上学生成绩管理系统是一项十分重要并且有价值的事

    2024年02月05日
    浏览(38)
  • (附源码)python+mysql+基于python的学生成绩管理系统 毕业设计071143

    Django学生成绩管理 摘 要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革、多样性、质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化。依照这一现实为基础,设计一个快捷而又方便的线上学生成绩管理系统是一项十分重要并且有价值的事

    2024年02月04日
    浏览(43)
  • Python毕业设计|课程设计|基于Python+Django实现的学生成绩管理系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码   语言环境:Python3.7 数据库:

    2024年02月10日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包