学生管理系统(2)

328 阅读3分钟

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

image.png

简介

上篇文章详细的介绍了该管理系统所具备的结构和功能,并且介绍了如何实现录入学生信息功能,本文将介绍如何删除学生信息等具体的模块功能的实现。

主函数的介绍

  1. 在介绍各模块功能之前首先对于主函数的描写进行初级的介绍:
def main():  # 主函数
    while True:  # 一直呈现菜单界面
        menm()
        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:
                delect()  # 删除学生信息
            elif choice == 4:
                modify()  # 修改学生信息
            elif choice == 5:
                sort()  # 排序
            elif choice == 6:
                total()  # 统计学生总人数
            elif choice == 7:
                show()  # 显示所有学生信息
  1. 定义一个菜单展示界面:
def menm():  # 定义一个函数菜单
    print('=================学生信息管理系统============================')
    print('------------------功能菜单----------------------------------')
    print('\t\t\t\t\t\t\t1.录入学生信息')
    print('\t\t\t\t\t\t\t2.查找学生信息')
    print('\t\t\t\t\t\t\t3.删除学生信息')
    print('\t\t\t\t\t\t\t4.修改学生信息')
    print('\t\t\t\t\t\t\t5.排序')
    print('\t\t\t\t\t\t\t6.统计学生总人数')
    print('\t\t\t\t\t\t\t7.显示所有学生信息')
    print('\t\t\t\t\t\t\t0.退出')
    print('------------------------------------------------------------')

通过主函数时刻调用菜单,了解该程序主要的实现过程以及实现步骤。并且明确该管理系统具有那些模块及功能。

删除学生信息

从控制台录入学生id,到磁盘文件中找到对应的学生信息,并将其删除。

  1. 编写主函数中调用的删除学生信息的函数delete()
def delect():  # 删除学生信息
    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:  # 如果有数据,用只写的方式打开文件
                    d = {}
                    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}的学生已经被删除')  # f表示格式化字符串
                    else:
                        print(f'没有找到ID为{student_id}的学生信息')
            else:  # 磁盘没有数据
                print('无学生信息')
                break

            show()  # 删除之后重新显示所有学生的信息
            answer = input('是否继续删除呢?y/n')
            if answer == 'y' or answer == 'Y':
                continue
            else:
                break
  1. 代码中调用了show()函数用来显示学生信息,该函数的功能将在后面完成。目前用来了解,show函数是用来实现显示学生信息的功能。

乘风破浪会有时,直挂云帆济沧海

东西不多,希望大家可以共勉之。喜欢的话,可以给作者一个大大的赞,鼓励一下吗!!!