学生管理系统(3)

学生管理系统(3)这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战 简介 前两次主要是介绍了学生管理系统的架构和功能,简单的介绍了如何通过python语言,介绍了如何实现录入学生信息和删除学生信

这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战

image.png

简介

前两次主要是介绍了学生管理系统的架构和功能,简单的介绍了如何通过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()函数显示学生信息。下一次笔记将介绍查找学生信息,查询学生总人数等功能。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16095.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注