项目介绍
基于python开发的学生管理系统,使用的是面向对象和IO流的技术,代码内容较为简单,没有使用到数据库,采用本地文件的方式存储数据和读取文件数据,如需使用数据库,请自行更改,其实很简单的
功能如下
添加学生信息
修改学生信息
查询学生信息
删除学生信息
查看全部学生信息
退出系统(将学生的信息保存到文件里面)
代码开发流程
1.首先在pycharm新建一个python项目,创建两个python包,分别是model和service,顾名思义,model存放对象类,service主要是存放对象的业务代码,main.py作为项目运行类使用
2.新建student.py,代码如下
class Student(object):
def __init__(self, stu_id, name, age, gender) -> None:
self.stu_id = stu_id
self.name = name
self.age = age
self.gender = gender
def __str__(self) -> str:
return f'{self.stu_id},{self.name},{self.age},{self.gender}'
3.新建student_manager_system.py,代码如下
import model.student as stu
class StudentManagerSystem(object):
def __init__(self):
self.stu_dicts = {}
@staticmethod
def show_menu():
print('1. 添加学生')
print('2. 删除学生')
print('3. 修改学生信息')
print('4. 查询单个学生信息')
print('5. 查询所有学生信息')
print('6. 退出系统')
def insert_student(self):
# 1.使用input获取学生的信息
stu_id = input("请输入学号:")
name = input('请输入学生名字:')
# 代码优化,判断学生是否存在 学号是否存在 判断字典的key是否存在
if name in self.stu_dicts: # key存在返回True
print("学生信息已经存在,不需要再次添加")
return
age = input('请输入学生年龄:')
gender = input('请输入学生性别:')
# 2.使用学生信息,创建学生对象,学生类(参数)
st = stu.Student(stu_id, name, age, gender)
# 3.将学生对象添加到字典中 字典['key'] = 数据值
self.stu_dicts[stu_id] = st
def remove_student(self):
# 1.使用input输入学号
stu_id = input("请输入要删除学生的学号")
# 2.判断学生信息是否存在
if stu_id in self.stu_dicts.keys():
# 3.存在执行操作,删除字典里的数据,del 变量[key]
del self.stu_dicts[stu_id]
print("学生已经删除")
else:
print("该学生信息不存在,不需要删除")
def modify_student(self):
# 1.使用input输入学号
stu_id = input("请输入要修改的学生学号")
# 2.判断学生信息是否存在
if stu_id in self.stu_dicts.keys():
# 3.存在执行操作,删除字典里的数据,del 变量[key]
name = input('请输入学生名字:')
# 代码优化,判断学生是否存在 学号是否存在 判断字典的key是否存在
age = input('请输入学生年龄:')
gender = input('请输入学生性别:')
self.stu_dicts[stu_id] = stu.Student(stu_id, name, age, gender)
print("学生信息已经修改完成")
else:
print("该学生信息不存在,无法修改")
def show_one_info(self):
# 1.使用input输入学号
stu_id = input("请输入要修改的学生学号")
# 2.判断学生信息是否存在
if stu_id in self.stu_dicts.keys():
# 存在则输出
print(self.stu_dicts[stu_id])
else:
print("该学生信息不存在,无法查看")
def show_all_info(self):
for s in self.stu_dicts.values():
print(s)
def save(self):
f = open('student.txt', 'w', encoding='utf-8')
for st in self.stu_dicts.values():
f.write(str(st) + '\n')
f.close()
def start(self):
while True:
self.show_menu()
opt = input('请输入用来选择的操作编号:')
if opt == '1':
self.insert_student()
elif opt == '2':
self.remove_student()
elif opt == '3':
self.modify_student()
elif opt == '4':
self.show_one_info()
elif opt == '5':
self.show_all_info()
elif opt == '6':
self.save()
print('6. 退出系统')
break
else:
print('输入有误,请再次输入')
continue
input('=======回车请继续操作========')
4.在main.py引入业务student_mananger_system.py,执行启动方法,详细代码如下
import service.student_manager_system as sms
if __name__ == '__main__':
sm = sms.StudentManagerSystem()
sm.start()
这样我们运行该main.py即可启动项目,效果如下
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END