**# 综合训练报告**
**姓名:齐佳民
学号:1403050116
专业:安全工程(矿山通风安全)
班级:通风14-1班
指导讲师:邓立军
职称:讲师
2015年05月16日**
**目录**
1.摘要
2.问题分析
3.程序描述
4.源程序
5.总结
1.摘要
随着科技发展和社会进步,,尤其是计算机大范围的普及,计算机应用逐渐由大规模计算的海量数据处理转向大规模的事物处理和对工作流的管理,这就产生以台式计算机为核心的管理系统。
在学校中,过去的档案管理显得过于麻烦以及繁琐。用计算机实现自动化管理既可以减轻人员的劳动强度,又可以提高学校管理效率。
2.问题分析
2.1 全面性
考虑输出全面。所以考虑采用了for循环的方法,以保证其输出的全面性 。
2.2 调取数据
为了使调取学生的信息方便简洁,考虑采用了嵌套词典的方法。嵌套词典,使得调取数据以及增添和删除学生信息、修改学生信息非常方便,实用性较强。
2.3 重复性
为了能显示所有学生的详细信息,有一个重复打印的过冲,需要利用for循环。加一些限定条件来消除重复但是这样做不但会出错,还不能保证它的输出全面性。于是我想在输出的时候加限定条件,使重复的只输出一遍。
3.程序描述
3.1 主要思路及代码执行过程
首先输入通风14-1班26个学生的姓名、学号、性别、年龄以及成绩信息为一个嵌套词典,将成绩单独编写一个数组。先打印出每个学生的个人信息,先建立一个key,
names=xueshengmingdan.keys()
之后利用for 循环,
for name in names:
之后,
print '姓名:',name,'学号:',xueshengmingdan[name]['学号'],'性别:',xueshengmingdan[name]['性别'],'年龄',xueshengmingdan[name]['年龄'],'成绩信息',xueshengmingdan[name]['成绩信息']。
如果要计算与年龄和成绩信息有关的问题,需要先定义两个空数组,
ages=[]
grades=[]
之后利用for循环,
for name in names:
ages.append(xueshengmingdan[name]['年龄'])
grades.append(xueshengmingdan[name]['成绩信息'])
之后便可打印与年龄和成绩信息有关的东西了:
print '最大年龄',max(ages) #最大年龄
print '最小年龄',min(ages) #最小年龄
print '平均年龄',(1.0*sum(ages)/len(ages)) #平均年龄
print '最高成绩',max(grades) #最高成绩
print '最低成绩',min(grades) #最低成绩
print '平均成绩',1.0*sum(grades)/len(grades) #平均成绩
但是,不要忘记引入math函数:
import math
要想使学生名单按成绩排序,就要定义一个函数:
def two_cmp(x1,x2):
return cmp(x11,x21)