"""
程序名称:学生信息管理系统
版本信息: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("您输入有误,请重新输入")