1、学生信息管理
"""
1、首先确定学生的信息,以字典里面嵌套列表的形式存储查找的时候按照学号查找;
2、系统以菜单的方式进行工作
"""
from operator import itemgetter
class StudentA:
def __init__(self):
self.Info = {}
self.student_info = []
def input_info(self):
self.number = input('请输入要录入学生的学号:')
self.name = input('请输入要录入学生的姓名:')
self.age = input('请输入要录入学生的年龄:')
self.gender = input('请输入要录入学生性别:')
self.date = input('请输入要录入学生的出生年月:')
self.site = input('请输入要录入学生的地址:')
self.phone = input('请输入要录入学生的电话:')
self.E_mail = input('请输入要录入学生的E-mail:')
self.Info['number'] = self.number
self.Info['name'] = self.name
self.Info['age'] = self.age
self.Info['gender'] = self.gender
self.Info['date'] = self.date
self.Info['site'] = self.site
self.Info['phone'] = self.phone
self.Info['E-mail'] = self.E_mail
self.student_info.append(self.Info)
def save(self):
str_Info = str(self.student_info)
with open('student_info1','a') as f:
f.write(str_Info)
class StudentB(StudentA):
def In_info(self):
key = int(input('请输入查询和排序的条件:1:按照学号;2:按照姓名:'))
if key == 1:
key_gender = input('请输入查询学生的学号;')
i = 0
num = 0
for item in a:
if item['number'] == key_gender:
i = 1
break
else:
num += 1
print(i)
if i == 0:
print('没有这个学生!')
else:
print('查询学生信息如下:%s %s %s %s %s %s %s %s'%(item['name'],item['number'],item['age'],item['gender'],item['date'],item['site'],item['phone'],item['E-mail']))
for i in a:
sort_info = sorted(i, key=itemgetter('number'))
print(sort_info)
if key == 2:
key_name = input('请输入查询学生的姓名:')
i = 0
num = 0
for item in a:
if item['name'] == key_name:
i = 1
else:
num += 1
if i == 0:
print('该学生信息不存在')
else:
print('查询学生信息如下:%s %s %s %s %s %s %s %s' % (
item['name'], item['number'], item['age'], item['gender'], item['date'], item['site'], item['phone'],
item['E-mail']))
for j in a:
sort_info = sorted(j, key=itemgetter('gender'))
print(sort_info)
def del_Info(self):
del_info = input('请输入要删除学生的学号:')
num = 0
leap = 0
for item in b:
if item['number'] == del_info:
leap = 1
else:
num += 1
if leap == 0:
print('学生信息不存在!')
else:
del b[num]
print('删除成功')
class Menu:
# 输出要执行的菜单
print('*' * 30)
print('---学生管理系统---')
print('1:录入学生信息')
print('2:显示所有学生信息')
print('3:按照学生信息查询')
print('4:删除学生信息')
print('5:退出系统')
print('*' * 30)
if __name__=='__main__':
studenta = StudentA()
studentb = StudentB()
while True:
menu = Menu()
fun = int(input('请输入要进行的操作'))
if fun == 1:
studenta.input_info()
studenta.save()
elif fun == 2:
print('查询结果为:',studenta.student_info)
elif fun == 3:
a = studenta.student_info
studentb.In_info()
elif fun == 4:
b = studenta.student_info
studentb.del_Info()
elif fun == 5:
break
2、学生综合测评系统
"""
1、创建两个类(
1)学生信息处理 :其中包括输入学生信息、插入(修改学生信息)、删除学生信息、浏览学生信息
2)学生数据处理:按考试科目录入学生成绩并且按公式(先把学生信息读入数组,然后按照提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中)、输入成绩并计算综合测评总分名次、学生数据管理、学生数据查询、学生综合信息输出
)
"""
from operator import itemgetter
class Student_infoA:
def __init__(self):
self.Info = {}
self.student_info = []
def input_info(self):
self.number = input('请输入要录入学生的学号:')
self.name = input('请输入要录入学生的姓名:')
self.gender = input('请输入要录入学生性别:')
self.site = input('请输入要录入学生的地址:')
self.phone = input('请输入要录入学生的电话:')
self.Info['number'] = self.number
self.Info['name'] = self.name
self.Info['gender'] = self.gender
self.Info['site'] = self.site
self.Info['phone'] = self.phone
self.student_info.append(self.Info)
def save(self):
sort_info = sorted(self.student_info,key=itemgetter('number'))
str_Info = str(sort_info)
with open('student_info2', 'a') as f:
f.write(str_Info)
class Student_infoB(Student_infoA):
def in_info(self):
pass
def del_info(self):
input_number = input('请输入要删除的学生的学号:')
j = 0
leap = 0
for item in b:
if item['number'] == input_number:
j = 1
else:
leap += 1
if j == 1:
del b[leap]
print('删除成功')
else:
print('学生信息不存在')
class Student_data:
def __init__(self):
pass
def input_data(self):
pass
def age_data(self):
pass
def see_data(self):
pass
class MenuA:
# 输出要执行的菜单
print('*' * 30)
print('---学生综合测评系统---')
print('学生信息处理')
print('11:输入学生信息')
print('12:插入学生信息')
print('13:删除学生信息')
print('14:查询学生信息')
print('学生数据处理')
print('21:学生数据管理')
print('22:学生数据查询')
print('23:学生综合信息输出')
print('24:退出系统')
print('*' * 30)
# if __name__=='__main__':
while True:
studenta = Student_infoA()
studentb = Student_infoB()
student_data = Student_data
menua = MenuA
fun = int(input('请输入要执行的操作:'))
if fun == 11:
studenta.input_info()
studenta.save()
elif fun == 12:
a = studenta.input_info()
studentb.in_info()
elif fun == 13:
b = studenta.input_info()
studentb.del_info()
elif fun == 14:
open('student_info2', 'r')
elif fun ==15:
break
elif fun == 21:
pass
elif fun == 22:
pass
elif fun == 23:
pass
elif fun == 24:
break