写点什么

学生管理系统(3)

作者:
  • 2022 年 5 月 14 日
  • 本文字数:1461 字

    阅读完需:约 5 分钟

简介

前两次主要是介绍了学生管理系统的架构和功能,简单的介绍了如何通过 python 语言,介绍了如何实现录入学生信息和删除学生信息功能。本文主要介绍如何修改学生信息。

修改学生信息功能模块

实现修改学生信息功能的步骤:

首先从控制台录入学生的 ID,录入成功之后,看看在文件中是否存在学生信息。若存在,则代表录入成功,并且通过 ID 在磁盘文件中找到学生信息,并且进行修改。

具体实现

  1. 编写主函数中调用的修改学生信息的函数 modify()


def modify():  # 修改学生信息    show()    if os.path.exists(filename):  # 判断这个磁盘文件是否存在        with open(filename, 'r', encoding='utf-8') as rfile:            student_old = rfile.readlines()  # 将读到的信息,放到列表中    else:        return
student_id = input('请输入要修改学生的Id:') # if student_id=='': # print('输入错误,请重新输入:') with open(filename, 'w', encoding='utf-8') as wfile: for item in student_old: # 遍历在学生文件中读取的学生信息 d = dict(eval(item)) # 读取的是字符串。用eval进行转换成字典类型 if d['id'] == student_id: # 判断id是否与列表中的id相等 print('找到学生信息了,可以进行修改他的相关信息了!') while True: try: d['name'] = input('请输入姓名:') d['english'] = input('请输入英语成绩:') d['python'] = input('请输入python成绩:') d['java'] = input('请输入Java成绩:') except: print('您的输入有误,请重新输入!!!') else: break wfile.write(str(d) + '\n') # 输入的没有错误,将信息进行写入,并且转成str类型 print('修改成功!!!') else: print('没有查找到该学生的信息!!!') wfile.write(str(d) + '\n') # 没有找到,把原来的信息写进去 answer = input('是否要继续修改其他学生的信息?y/n') if answer == 'y' or answer == 'Y': modify()
复制代码


  1. 调用 show()函数显示学生信息


def show():  # 显示所有学生信息    student_lst = []  # 先定义一个学生列表    if os.path.exists(filename):  # 查看文件是否存在        with open(filename, 'r', encoding='utf-8') as rfile:  # 文件存在用只读的方式打开            student = rfile.readlines()  # 读文件,将读到的文件赋值给student            for item in student:  # 遍历student                student_lst.append(eval(item))  # 将item进行for循环遍历的东西,添加到studengt_lst的列表中,并且将字符串转换成字典                if student_lst:  # 如果student_lst的列表不为空,则进行展示                    show_student(student_lst)    else:        print('暂未保存过数据')
复制代码

后记

本文主要是介绍了如何通过 python 语言实现修改学生信息的功能,并且介绍了 show()函数的作用。这三次笔记,已经实现了学生管理系统大部分的功能,其中包括录入学生信息功能,修改学生信息功能,删除学生信息功能以及通过 show()函数显示学生信息。下一次笔记将介绍查找学生信息,查询学生总人数等功能。

用户头像

关注

还未添加个人签名 2022.04.24 加入

还未添加个人简介

评论

发布
暂无评论
学生管理系统(3)_5月月更_㋛_InfoQ写作社区