Python学生信息管理系统:面向对象实现与完整代码解析
本文提供基于Python面向对象编程的学生信息管理系统完整源码。系统采用类封装学生与管理逻辑,实现添加、查询、修改、删除、显示及退出六大核心功能。通过字典容器存储数据,结合菜单交互实现循环操作,适合初学者理解OOP思想及基础文件/内存数据处理流程。
本文分享了一个使用Python编写的学生信息管理系统的具体实现代码,供读者参考学习。
"""
程序名称:学生信息管理系统
版本信息:0.1
开发者:飞宇
开始时间:2018.3.23 19:45
版本更新时间:2018.4.2 23:08
格式:IPO
OOP面向对象
"""
# 学生类
class Student:
def __init__(self, stuId, name, age, sex, dept, nation):
self.stuId = stuId
self.name = name
self.age = age
self.sex = sex
self.dept = dept
self.nation = nation
def studentoop(self):
pass
# 管理系统类
class Sys:
def __init__(self):
pass
# 展示系统菜单
def show_menu(self):
print("=" * 56)
print("")
print(" 学生信息管理系统 v1.0")
print("")
print(" 1:添加用户信息")
print(" 2:查询用户信息")
print(" 3:修改用户信息")
print(" 4:删除用户信息")
print(" 5:显示用户信息")
print(" 0:退出系统")
print("")
print("=" * 56)
# 输入学生菜单
def getinfo(self):
global new_stuId
global new_name
global new_age
global new_sex
global new_dept
global new_nation
new_stuId = input("请输入学号:")
new_name = input("请输入名字:")
new_age = input("请输入年龄:")
new_sex = input("请输入性别:")
new_dept = input("请输入专业:")
new_nation = input("请输入民族:")
# 添加学生信息
def add_stus(self):
#调用getinfo方法
self.getinfo()
#以ID为Key,将新输入的信息赋值给Student类
students[new_stuId] = Student(new_stuId, new_name, new_age, new_sex, new_dept, new_nation)
# 打印添加的学生信息
print("学号:%s" % students[new_stuId].stuId, "姓名:%s" % students[new_stuId].name, "年龄:%s" % students[new_stuId].age,
"性别:%s" % students[new_stuId].sex, "专业:%s" % students[new_stuId].dept, "民族:%s" % students[new_stuId].nation)
print("=" * 56)
# 查询学生信息
def find_stus(self):
find_nameId = input("请输入要查的学号")
if find_nameId in students.keys():
print("学号:%s\t名字:%s\t年龄:%s\t性别:%s\t名字:%s\t民族:%s" %
(students[new_stuId].stuId, students[new_stuId].name, students[new_stuId].age,
students[new_stuId].sex, students[new_stuId].dept, students[new_stuId].nation))
else:
print("查无此人")
print("=" * 56)
# 修改学生信息
def alter_stus(self):
alterId = input("请输入你要修改学生的学号:")
self.getinfo()
# 当字典中Key相同时,覆盖掉以前的key值
if alterId in students.keys():
students[new_stuId] = Student(new_stuId, new_name, new_age, new_sex, new_dept, new_nation)
del students[alterId]
else:
print("查无此人")
print("=" * 56)
# 删除学生信息
def del_stus(self):
cut_nameID = input("请输入要删除的学号:")
if cut_nameID in students.keys():
del students[cut_nameID]
else:
print("查无此人")
print("=" * 56)
# 显示学生信息
def show_stus(self):
for new_stuId in students:
print("学号:%s\t名字:%s\t年龄:%s\t性别:%s\t名字:%s\t民族:%s" %
(students[new_stuId].stuId, students[new_stuId].name, students[new_stuId].age,
students[new_stuId].sex, students[new_stuId].dept, students[new_stuId].nation))
print("=" * 56)
# 退出
def exit_stus(self):
print("欢迎下次使用")
exit()
# 创建系统对象
sys = Sys()
# 定义一个容器来存储学生信息
students = {}
sys.show_menu()
while True:
choice = int(input("请选择功能:"))
if choice == 1:
sys.add_stus()
elif choice == 2:
sys.find_stus()
elif choice == 3:
sys.alter_stus()
elif choice == 4:
sys.del_stus()
elif choice == 5:
sys.show_stus()
elif choice == 0:
sys.exit_stus()
else:
print("您输入有误,请重新输入")
以上就是本文的全部内容,希望能为各位的学习带来帮助,同时也欢迎大家继续支持本站获取更多技术资源。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









