@qwe147
2017-04-09T01:36:34.000000Z
字数 4097
阅读 761
第1次综合训练报告
题目:班级信息管理系统
小 组:第3组
姓 名:徐富,雷欢欢,孙峥
专 业:安全工程
班 级:安全16-4班
指导教师:邓立军
(2017 年 03 月 30 日(封面的底部)
目 录
1 摘要 1
2 设计思路 1
3 运行结果 2
4 执行过程 5
5 总结 2
6 代码 2
题目 班级信息管理系统
1 摘要 通过简易的python语法:条件语句,循环语句,文件的读取和更改,列表的应用等。用计算机实现自动化管理。既可以减轻人员的劳动强度,又可以提高学校管理效率。本程序可以实现的功能如下:
1.查看学生信息
2.添加学生信息
3.删除学生信息
4.修改学生信息
5.输出平均成绩
6.各科最高和最低成绩
7.平均年龄
8.最大和最小年龄
9.帮助
0.退出系统操作
2 设计思路 通过运用文件对数据进行存储,运用列表对数据进行删除,修改,计算,排序等。来实现学生信息管理系统的各种功能,运用条件语句将各种功能分开,运用循环语句使整个程序可以循环操作,运用‘break’终止程序。
3运行结果
(1)选择查看学生信息
(2)选择添加学生信息
(3)选择删除学生信息
(4)选择修改学生信息
(5)选择输出平均成绩
(6)选择各科最高和最低成绩
(7)选择平均年龄
(8)选择最大和最小年龄
(9)帮助
(0)退出系统操作
4 执行过程
1~14:对各种功能进行编号
15:运用for语句对整个程序进行循环
16~24:定义列表
25~44:将文件中各种数据放入相应列表
45:定义一个嵌套式列表
46:输入需要进行的功能
47~149:用if语句分隔各种功能
47~51:显示文件中所有信息
52~77:添加学生信息
78~92:删除学生信息,运用‘del’删除特定位置的学生信息
93~130:运用添加学生信息和删除学生信息实现修改学生信息(这个方法也是没有办法的办法)
132~148:运用顺序语句对列表中的数据进行计算。实现输出平均成绩,各科最高和最低成绩,平均年龄,最大和最小年龄,帮助。
150:运用‘break’跳出循环。
5 总结
(1)心得体会:强化条件语句,循环语句,文件的读取和更改,列表的应用等基础操作方法。
(2)问题及解决方案:在编程过程中,经常遇到一些课外的python语法知识,这时我们充分利用网上资源进行进一步的探索;遇到一些很难逾越的困难时,会进行小组讨论,翻阅文献资料等方法;
(3)不足:没有实现可以任意修改数据中的某一项,修改学生信息只是把旧的信息删除,添加一个新的信息。没有达到最简便的语法。
6 代码
# -*- coding:utf-8 -*-print '''************************欢迎使用学生信息管理系统************************'''print '''1.查看学生信息2.添加学生信息3.删除学生信息4.修改学生信息5.输出平均成绩6.各科最高和最低成绩7.平均年龄8.最大和最小年龄9.帮助0.退出系统操作'''for s in range(1000):names=[]numbers=[]sexs=[] #性别ages=[]maths=[]engs=[]coms=[]avers=[]datas=[]f = open('D:\班级成绩.txt','r')for line in f:a = line.split()name=a[1]number=a[0]sex=a[2]age=int(a[3])math=float(a[4])com=float(a[5])eng=float(a[6])aver=(math+com+eng)/3.0names.append(name)sexs.append(sex)ages.append(age)numbers.append(number)maths.append(math)coms.append(com)engs.append(eng)avers.append(aver)f.close()x=[numbers,names,sexs,ages,maths,engs,coms,avers]xuanze=int(raw_input('请选择操作:'))if xuanze==1:print '''所有学生信息如下所示:学号 姓名 性别 年龄 数学 英语 计算机 平均分'''for i in range(len(names)):print numbers[i],' ',names[i],' ',sexs[i],' ',ages[i],' ',maths[i],' ',engs[i],' ',coms[i],' ',avers[i],' 'if xuanze==2:number1=raw_input('请输入学号:')name1=raw_input('请输入姓名:')sex1=raw_input('请输入性别:')age1=raw_input('请输入年龄:')math1=raw_input('请输入数学成绩:')eng1=raw_input('请输入英语成绩:')com1=raw_input('请输入计算机成绩:')aver1=(float(math1)+float(eng1)+float(com1))/3.0e = open('D:\班级成绩.txt','a')e.write('\n')e.write(number1)e.write('\t')e.write(name1)e.write('\t')e.write(sex1)e.write('\t')e.write(age1)e.write('\t')e.write(math1)e.write('\t')e.write(eng1)e.write('\t')e.write(com1)e.close()print '添加成功'if xuanze==3:print '''所有学生信息如下所示:序号 学号 姓名 性别 年龄 数学 英语 计算机 平均分'''for i in range(len(names)):print i,'.',numbers[i],' ',names[i],' ',sexs[i],' ',ages[i],' ',maths[i],' ',engs[i],' ',coms[i],' ',avers[i],' 'file1 = open('D:\班级成绩.txt','r')for line in file1.readlines():datas.append(line)n=int(raw_input('请输入需要删除的学生的序号:'))del datas[n]file1.closefile2=open('D:\班级成绩.txt',"w")file2.writelines(datas)file2.closeprint '删除成功'if xuanze==4:print '''所有学生信息如下所示:序号 学号 姓名 性别 年龄 数学 英语 计算机 平均分'''for i in range(len(names)):print i,'.',numbers[i],' ',names[i],' ',sexs[i],' ',ages[i],' ',maths[i],' ',engs[i],' ',coms[i],' ',avers[i],' 'm=int(raw_input('请输入需要修改的学生资料的序号:'))number2=raw_input('请输入修改后的学号:')name2=raw_input('请输入修改后的姓名:')sex2=raw_input('请输入修改后的性别:')age2=raw_input('请输入修改后的年龄:')math2=raw_input('请输入修改后的数学成绩:')eng2=raw_input('请输入修改后的英语成绩:')com2=raw_input('请输入修改后的计算机成绩:')e = open('D:\班级成绩.txt','a')e.write('\n')e.write(number2)e.write('\t')e.write(name2)e.write('\t')e.write(sex2)e.write('\t')e.write(age2)e.write('\t')e.write(math2)e.write('\t')e.write(eng2)e.write('\t')e.write(com2)e.close()file1 = open('D:\班级成绩.txt','r')for line in file1.readlines():datas.append(line)file1.closedel datas[m]file2 = open('D:\班级成绩.txt',"w")file2.writelines(datas)file2.closeprint '修改成功'148 if xuanze==5:print '数学平均分:',sum(maths)/len(maths),'\n','英语平均分:',sum(engs)/len(engs),'\n','计算机平均分:',sum(coms)/len(coms)if xuanze==6:print '数学最高分:',max(maths),' ','数学最低分:',min(maths)print '英语最高分:',max(engs),' ','英语最低分:',min(engs)print '计算机最高分:',max(coms),' ','计算机最低分:',min(coms)print '平均分最高分:',max(avers),' ','平均分最低分:',min(avers)if xuanze==7:print '平均年龄:',sum(ages)/len(ages)if xuanze==8:print '最大年龄:',max(ages),'\n','最小年龄:',min(ages)if xuanze==9:print '''制作人员:徐富 雷欢欢 孙峥使用方法:1.在使用本程序前需要在您的电脑中D盘下创建一个重用名为‘班级成绩.txt’的txt文本2.确定想要操作的项目前的序号。3.输入序号回车4.请严格按照提示操作。'''if xuanze==0:breaks+=1