python面向对象--学生信息管理系统
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python面向对象--学生信息管理系统,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3727字,纯文字阅读大概需要6分钟。
内容图文
主程序
系统主程序
import managerSystem
import student
if __name__ == '__main__':
system1 = managerSystem.StudentManager()
#程序运行
system1.run()
managerSystem.py 管理系统类
# 存储数据的位置 文件 (student.data)
"""
加载文件数据
修改数据后保存到文件
"""
'''
系统功能:
添加学员
删除学院
修改学员
查询学院
显示所有学员信息
保存学员信息
'''
from student import Student
class StudentManager(object):
def __init__(self):
# 用来存储数据所用的列表
self.student_list = []
# 系统功能函数
# 显示系统菜单 静态方法中
@staticmethod
def show_menu():
print('请选择系统功能:==============================================')
print('1、添加学员')
print('2、删除学员')
print('3、修改学员信息')
print('4、查询学员信息')
print('5、显示所有学员信息')
print('6、保存学员信息')
print('7、退出系统')
# 程序运行
def run(self):
# 首先加载学生信息
self.load_students()
while True:
self.show_menu()
number = input('')
if number == '1': #添加
self.add_student()
elif number == '2':
self.del_student()
elif number == '3':
self.change_student()
elif number == '4':
self.inquiry_student()
elif number == '5':
self.dis_student()
elif number == '6':
self.save_students()
elif number == '7':
a = input('确认退出系统y/n')
if a == 'y':
break
else:
print('输入正确指令')
# 系统功能区===================================================================
# 询问学生信息
@staticmethod
def inquiry_info():
a_name = input('请输入添加学生姓名:')
a_gender = input('请输入添加学生性别:')
a_tel = input('请输入添加学生手机号:')
return a_name, a_gender, a_tel
# 添加学员功能
def add_student(self):
name, gender, tel = self.inquiry_info()
info = Student(name, gender, tel)
self.student_list.append(info)
print('学员添加成功')
# 删除学员功能
def del_student(self):
d_name = input('请输入要删除学生信息的姓名:')
for i in self.student_list:
if i.name == d_name:
self.student_list.remove(i)
print('学员成功删除')
break
else:
print('没有查询到该学生信息')
# 修改学员信息
def change_student(self):
c_name = input('请输入你要修改学生姓名')
for i in self.student_list:
if c_name == i.name:
i.name = input('请输入新的学生姓名:')
i.gender = input('请输入学生性别:')
i.tel = input('请输入学生手机号:')
print('学员信息修改成功')
break
else:
print('没有查询到要修改学生信息')
# 查询学员信息
def inquiry_student(self):
i_name = input('请输入你要查询学生姓名:')
for i in self.student_list:
if i_name == i.name:
print(i)
print('学员信息查询成功')
break
else:
print('暂无此学员信息')
# 显示所有学员信息
def dis_student(self):
for i in self.student_list:
print(i)
print('学员信息显示完毕')
# 保存学员信息到文件students.data
def save_students(self):
try:
save_file = open('students.data', 'w') # 不需要追加写入 每次运行程序都会读取到列表当中
for i in self.student_list:
if type(i) == Student:
save_file.write(i.name + ' ')
save_file.write(i.gender + ' ')
save_file.write(i.tel + '\n')
else:
save_file.writelines(i)
except Exception as e:
print('信息保存失败', e)
else:
print('学员信息保存成功')
finally:
save_file.close()
# 加载学员信息
def load_students(self):
try:
s_file = open('students.data', 'r')
read_list = s_file.readlines() # 读取出来的数据是字符串 必须转换成列表数据
for i in read_list:
lst = i.split(' ')
info = Student(lst[0], lst[1], lst[2])
self.student_list.append(info) #将读取的每个内容 转化成学生类对象 添加到列表中
except Exception as e:
s_file = open('students.data', 'w')
print('学员信息加载失败', e)
else:
print('学员信息加载完成')
finally:
s_file.close()
if __name__ == '__main__':
test = StudentManager()
test.load_students()
test.dis_student()
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}'
if __name__ == '__main__':
test = Student('test', '男', 123)
print(str(test.__dict__))
内容总结
以上是互联网集市为您收集整理的python面向对象--学生信息管理系统全部内容,希望文章能够帮你解决python面向对象--学生信息管理系统所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。