我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Python实现简单的学生成绩管理系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用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('请输入正确的操作选项!')

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Python实现简单的学生成绩管理系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#实现简单学生成绩管理系统

这篇文章主要为大家详细介绍了C#实现简单学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

如何用python实现简单的学生成绩管理系统

这篇文章主要介绍了如何用python实现简单的学生成绩管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用python实现简单的学生成绩管理系统文章都会有所收获,下面我们一起来看看吧。需求:代码:imp
2023-06-29

怎么使用java实现简单学生成绩管理系统

这篇文章将为大家详细讲解有关怎么使用java实现简单学生成绩管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下/* *@copyright by LzyRapx on 2016/4/12.
2023-06-29

C++如何实现简单的学生成绩管理系统

这篇文章主要介绍了C++如何实现简单的学生成绩管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++如何实现简单的学生成绩管理系统文章都会有所收获,下面我们一起来看看吧。manage.h#include
2023-06-29

java怎么实现简单学生成绩档案管理系统

今天小编给大家分享一下java怎么实现简单学生成绩档案管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。学生成绩档案管理
2023-06-30

C#实现学生成绩管理系统

这篇文章主要为大家详细介绍了C#实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

python怎么实现简单的学生管理系统

这篇文章主要为大家展示了python怎么实现简单的学生管理系统,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“python怎么实现简单的学生管理系统”这篇文章吧。python是什么意思Python是
2023-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录