您现在的位置是:网站首页> 编程资料编程资料

python实现学生信息管理系统(面向对象)_python_

2023-05-26 296人已围观

简介 python实现学生信息管理系统(面向对象)_python_

本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下

1.主要内容

python种的.py文件如图所示

第一个文件是用来管理文件中包中各个模块的关系的文件

第二个文件是主函数文件,就是在主函数文件调用其余文件和模块

第三个模块式学生信息管理的模块

第四个文件是用来存放学生数据的文件

第五个文件是学生信息的定义和显示模块

2.实现代码

1)第一个文件是包中的管理文件自动生成且不需要修改

2)main.py文件

from managerSystem import *#导入模块managerSystem,可以使用其中的功能 if __name__=='__main__':#定义只能在运行main.py文件中运行,才执行的代码     student_manager=StudentManager()     student_manager.run()

3)学生信息管理模块

from student import * class StudentManager(object):     def __init__(self):         self.student_list = []     def run(self):         self.load_student()         while True:             self.show_menu()             ret = int(input('请输入数字1——7:'))             if ret == 1:                 self.add_student()             elif ret == 2:                 self.del_student()             elif ret == 3:                 self.modify_student()             elif ret == 4:                 self.search_student()             elif ret == 5:                 self.show_student()             elif ret == 6:                 self.save_student()             elif ret == 7:                 break     @staticmethod#此方法在执行时,不需要传入任何参数     def show_menu():         print('请选择如下序号:')         print('1.添加学员')         print('2.删除学员')         print('3.修改学员信息')         print('4.查找学员')         print('5.显示学员信息')         print('6.保存学员信息')         print('7.退出系统')     def add_student(self):         name = input('请输入学员姓名:')         gender = input('请输入学员性别:')         tel = input('请输入电话号码:')         student = Student(name, gender, tel)         self.student_list.append(student)         # print(self.student_list)         # print(student)     def del_student(self):         del_name = input('请输入需要删除的学员姓名:')         for i in self.student_list:             if i.name == del_name:                 self.student_list.remove(i)                 break         else:             print('查无此人')         # print(self.student_list)     def modify_student(self):         modify_name = input('请输入需要修改的学员姓名:')         for i in self.student_list:             if i.name == modify_name:                 i.name = input('亲输入需要修改的学员姓名:')                 i.gender = input('请输入需要修过的学员性别:')                 i.tel = input('请输入需要修改的学员手机号:')                 print(f'修改的信息为{i.name},{i.gender},{i.tel}')                 break         else:             print('需要修改的学员不存在')     def search_student(self):         searce_name = input('请输入需要查询的学员姓名:')         for i in self.student_list:             if i.name == searce_name:                 print(f'姓名:{i.name},性别:{i.gender},手机号:{i.tel}')                 break         else:             print('查无此人')     def show_student(self):         print('姓名:\t性别:\t手机号:')         for i in self.student_list:             print(f'{i.name}\t{i.gender}\t{i.tel}')     def save_student(self):         f = open('student.data', 'w')         new_list = [i.__dict__ for i in self.student_list]         print(new_list)         f.write(str(new_list))         f.close()     def load_student(self):         # 1. 打开文件:尝试r打开,如果有异常w         try:             f = open('student.data', 'r')         except:             f = open('student.data', 'w')         else:             # 2. 读取数据:文件读取出的数据是字符串还原列表类型;[{}] 转换 [学员对象]             data = f.read()  # 字符串             if data != '':  # 此时需要添加判断文件是否为空,否则会发生报错                 new_list = eval(data)                 self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list]         finally:             # 3. 关闭文件             f.close()

4)存储数据的文件不需要编辑

5)student.py文件主要是用来存放学生的主要信息的模块,以及可以查看学生信息的方法

class Student(object):     def __init__(self, name, gender, tel):         self.name = name         self.gender = gender         self.tel = tel     def __str__(self):         return f'{self.name},{self.gender}, {self.tel}'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

-六神源码网