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

python编写学生成绩管理系统的逻辑结构及功能怎么实现

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

python编写学生成绩管理系统的逻辑结构及功能怎么实现

这篇“python编写学生成绩管理系统的逻辑结构及功能怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python编写学生成绩管理系统的逻辑结构及功能怎么实现”文章吧。

学生信息系统

提示:python编写的学生成绩管理系统,包括8个功能和打包教程

一、功能界面 

def menum():    print('==================student_manger=================')    print('---------------------功能界面---------------------')    print('\t\t1.录入学生信息')    print('\t\t2.查找学生信息')    print('\t\t3.删除学生信息')    print('\t\t4.修改学生成绩')    print('\t\t5.排序')    print('\t\t6.统计学生总人数')    print('\t\t7.显示所有学生信息')    print('\t\t8.显示功能介绍按钮')    print('\t\t0.退出')    print('================================================')

二 、主函数 

def main():    menum()    while True:        try:            choice = int(input('请选择你想进行的操作: '))        except ValueError:            print('输入的数据存在错误,只能输入0到7的整数!')            try:                choice = int(input('请重新输入: '))            except ValueError:                print('重复输入错误,退出系统!')                break        if choice in [0, 1, 2, 3, 4, 5, 6, 7, 8]:            if choice == 0:                answer = input('你确定要退出系统吗?(Y/N): ')                if answer == 'Y' or answer == 'y':                    print('谢谢使用!')                    break                elif answer == 'N' or answer == 'n':                    print('即将返回上一步操作!')                    continue                else:                    input('输入错误,即将返回主界面!')                    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:                menum()        else:            print('你选择的操作无效,请重新输入!:')

三 、学生信息录入功能

逻辑结构图

python编写学生成绩管理系统的逻辑结构及功能怎么实现

def insert():    student_list = []    id_list = []    while True:        id = input('请输入ID: ')        if not id:            break        name = input('请输入姓名:')        if not name:            break        try:            english = float(input('请输入英语成绩:'))            math = float(input('请输入数学成绩:'))            python = float(input('请输入Python成绩:'))        except ValueError:            print('数据输入错误!')            continue        # 将录入的学生信息存放到字典中        student = {'id': id, 'name': name, 'english': english, 'math': math, 'Python': python}        # 将每个学生的信息存放在列表中        if student['id'] in id_list:                    # student['id'] = value(id)            print('已存在相同ID:')            for i in range(len(student_list)):                if student_list[i][id] == student[id]:  # 输出重复id元素                    print(student_list[i].items())                    break            print('请重新录入!')        else:            id_list.append(str(student['id']))            student_list.append(student)        # 是否继续添加学生信息        answer = input('是否继续添加学生信息?(Y/N): ')        if answer == 'Y' or answer == 'y':            continue        elif answer == 'N' or answer == 'n':            # 存储学生信息            save(student_list, filename)            print('学生信息录入完毕!')            break        else:            print('输入错误,即将返回主界面!')            break

四 、学生信息查找功能

逻辑结构图

python编写学生成绩管理系统的逻辑结构及功能怎么实现

代码

def search():    while True:        if os.path.exists(filename):            with open(filename, 'r', encoding = 'utf-8') as s_file:                student_qurey = s_file.readlines()              # 将学生信息全部取出                id_list = []                name_list = []                for i in student_qurey:                    d = dict(eval(i))                    id_list.append(d['id'])                    # 将所有学生的id存放在id_list中                    name_list.append(d['name'])                # 将所有学生的name存放在id_list中            try:                mode = int(input('请选择查询模式: 1.按照ID查询 / 2.按照姓名查询 '))            except ValueError:                print('数据类型输入错误!请重新输入!')            else:                if mode == 1:                                  # 按照ID查询                    id = input('请输入学生id: ')                    if id in id_list:                        print('已经查找到该名学生:')                        print('ID\t\t\t姓名:\t\t英语成绩:\t\t数学成绩:\t\tPython成绩:\t\t总成绩:')                        for item in student_qurey:                            if dict(eval(item))['id'] == id:                                p = dict(eval(item))                                print('{0}\t\t{1}\t\t {2}\t\t {3}\t\t   {4}\t\t   {5}'.format(                                                 p['id'], p['name'], p['english'], p['math'], p['Python'],                                                 float(p['english'])+float(p['math'])+float(p['Python'])))                    else:                        print('查无此人!')                elif mode == 2:                               # 按照姓名查询                    name = input('请输入学生姓名: ')                    if name in name_list:                        print('已经查找到该名学生:')                        print('ID\t\t\t姓名:\t\t英语成绩:\t\t数学成绩:\t\tPython成绩:\t\t总成绩:')                        for item in student_qurey:                            if dict(eval(item))['name'] == name:                                p = dict(eval(item))                                print('{0}\t\t{1}\t\t {2}\t\t {3}\t\t   {4}\t\t   {5}'.format(                                    p['id'], p['name'], p['english'], p['math'], p['Python'],                                    float(p['english']) + float(p['math']) + float(p['Python'])))                    else:                        print('查无此人!')                else:                    print('输入错误,只能选择1/2两种模式!')                answer = input('是否继续查询? (Y/N)')                if answer == 'Y' or answer == 'y':                    continue                elif answer == 'N' or answer == 'n':                    print('正在退出查询..')                    break                else:                    print('输入错误,即将返回主界面!')                    break        else:            print('无学生信息文件!')            return

五 、删除学生信息

逻辑结构图

python编写学生成绩管理系统的逻辑结构及功能怎么实现

代码

def delete():    while True:        student_id = 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 wfile:                    for item in student_old:                        d = dict(eval(item))        # 转化为字典类型                        if d['id'] != student_id:                            wfile.write(str(d)+'\n')                        else:                            flag = True                    if flag:                        print(f'id为{student_id}的学生信息已被删除!')                    else:                        print(f'没有找到id为{student_id}的学生信息!')            else:                print('无学生信息')                break            show()                  # 显示更新后的文件信息            answer = input('是否继续删除学生信息?(Y/N): ')            if answer == 'Y' or answer == 'y':                continue            elif answer == 'N' or answer == 'n':                break            else:                print('输入错误,即将返回主界面!')                break

六 、学生信息修改功能

逻辑结构图

python编写学生成绩管理系统的逻辑结构及功能怎么实现

代码

def modify():    show()    if os.path.exists(filename):        with open(filename, 'r', encoding = 'utf-8') as rfile:            student_old = rfile.readlines()             # 直接将文本文件的内容整行读取到列表中    else:        print('学生文件信息不存在!')    student_id = input('请输入想要修改的学生的ID: ')    with open(filename, 'w', encoding = 'utf-8') as just_file:  # 判断学生是否在该系统中        id_list = []        for i in student_old:            d = dict(eval(i))            id_list.append(d['id'])                             # 将所有学生的id存放在id_list中        if student_id in id_list:                               # 要修改的学生存在时            for item in student_old:                e = dict(eval(item))                if e['id'] == student_id:                    print('已找到该名学生!')                    while True:                        try:                            e['name'] = input('请输入姓名: ')                            e['english'] = input('请输入英语成绩: ')                            e['math'] = input('请输入数学成绩: ')                            e['Python'] = input('请输入Python成绩: ')                        except ValueError:                            print('数据类型输入错误!请重新输入!')                        else:                            break  # try...except..else: 输入为出错时,执行else语句                    just_file.write(str(e) + '\n')                    print('修改成功!')                else:                    just_file.write(str(e) + '\n')        else:            answer1 = input('查无此人!,是否执行插入操作?  (Y/N)')            if answer1 == 'Y' or answer1 == 'y':                insert()            else:                print('结束当前操作')        answer = input('是否继续修改其余学生信息?(Y/N): ')        if answer == 'Y' or answer == 'y':            modify()        elif answer == 'N' or answer == 'n':            print('结束修改,即将返回主界面..')        else:            print('输入错误,即将返回主界面!')

七 、学生成绩排序

逻辑结构图

python编写学生成绩管理系统的逻辑结构及功能怎么实现

代码

def sort():    student_new = []    if os.path.exists(filename):        with open(filename, 'r', encoding = 'utf-8') as sort_file:            student_list = sort_file.readlines()                    # 无序的学生信息列表        for item in student_list:            d = dict(eval(item))            student_new.append(d)                                   # 列表元素转化为字典        while True:            try:                sort_choice = int(input('请选择排序方式: 0:升序 / 1:降序\t'))            except ValueError:                print('输入的数据类型错误,请重新输入')            else:                if sort_choice == 0:                    Flag = False                    break                elif sort_choice == 1:                    Flag = True                    break                else:                    print('输入错误,只能在0/1中选择!')                    continue        while True:            try:                asc_choice = int(input('请选择按照哪一门成绩进行排序: 英语:0  / 数学:1  / python:2\t\t'))            except ValueError:                print('输入的数据类型错误,请重新输入')            else:                if asc_choice == 0:                    student_new.sort(key = lambda x: int(x['english']), reverse = Flag)     # 根据列表中的元素进行排序                    show()                    break                elif asc_choice == 1:                    student_new.sort(key = lambda x: int(x['math']), reverse = Flag)                    show()                    break                elif asc_choice == 2:                    student_new.sort(key = lambda x: int(x['Python']), reverse = Flag)                    show()                    break                elif asc_choice == 3:                    student_new.sort(key = lambda x: int(x['Python'])+int(x['english'])+int(x['math']), reverse = Flag)                    show()                    break                else:                    print('输入错误,只能在0/1/2中选择!')                    continue    else:        print('学生信息文件不存在!')

八 、 学生人数统计

逻辑结构图

python编写学生成绩管理系统的逻辑结构及功能怎么实现

代码

def total():    nums = 0    if os.path.exists(filename):        with open(filename, 'r', encoding = 'utf-8') as t_file:            len_list = t_file.readlines()        for i in range(len(len_list)):            if len_list[i] != '':                nums += 1        print('当前学生总人数为: ', nums)        print('请选择你想进行的下一步操作: ')    else:        print('暂无学生信息文件')

九 、显示所有学生信息

逻辑结构图

python编写学生成绩管理系统的逻辑结构及功能怎么实现

代码

def show():    if os.path.exists(filename):        with open(filename, 'r', encoding = 'utf-8') as show_file:            student_list = show_file.readlines()            if student_list:                print('----全部学生信息如下----')                print('ID\t\t\t姓名:\t\t英语成绩:\t\t数学成绩:\t\tPython成绩:\t\t总成绩:')                for item in student_list:                    p = dict(eval(item))                    print('{0}\t\t{1}\t\t {2}\t\t {3}\t\t   {4}\t\t   {5}'.format(                        p['id'], p['name'], p['english'], p['math'], p['Python'],                        float(p['english']) + float(p['math']) + float(p['Python'])))            else:                print('暂无学生信息!')    else:        print('暂无学生信息!')

程序打包

在 pycharm 终端 或者 python命令界面, 使用:

pip install PyInstaller

下载python打包程序,下载完成后, 执行以下操作:

pyinstaller —F F:\xxxx\xxx\xx\x.py

其中:

  • -F 代表将程序打包为单个exe文件,

  • F:\xxx\xxx\xx.py 为你的学生成绩管理系统文件的绝对地址

打包完成后,提示信息倒数第二行:Appending语句后面即为exe文件位置,若无特殊显示,则在当前目录父文件下

以上就是关于“python编写学生成绩管理系统的逻辑结构及功能怎么实现”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

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

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

python编写学生成绩管理系统的逻辑结构及功能怎么实现

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

下载Word文档

猜你喜欢

python编写学生成绩管理系统的逻辑结构及功能怎么实现

这篇“python编写学生成绩管理系统的逻辑结构及功能怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python编写
2023-06-30

编程热搜

  • 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动态编译

目录