题目:
当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。分 别用函数实现以下功能:
(1) 定义函数function1,计算每个学生的平均分(取 整数),并将所有学生的学号和平均分在屏幕上 输出。(函数参数为要读取文件的文件名)
def function1(flname): f=open(flname) a=f.readlines() del a[0] L3=[] for line in a: line=line.strip() L1=line.split() avg_score=int((int(L1[1])+int(L1[2]))/2) L3.append([L1[0],avg_score]) f.close() print("学号 平均分") for L2 in L3: print(L2[0]+" "+str(L2[1])) function1("e:\test\test.txt")
运行结果:
(2) 定义函数calAvg(),计算某一门课程的平均分(函 数参数为某门课成绩对应的列表名,返回值为该 门课的平均分)
def avg(L): sum,count=0,0 for score in L: sum+=score count+=1 avg_score=int(sum/count) return avg_score def calAvg(): f=open("e:\score3.txt",encoding='utf-8') a=f.readlines() del a[0] L2=[] L3=[] for line in a: line=line.strip() L1=line.split() L2.append(int(L1[1])) L3.append(int(L1[2])) f.close() print("专业课1的总平均分为",avg(L2)) print("专业课2的总平均分为",avg(L3)) calAvg()
运行结果:
score3.txt
学号 专业课1 专业课2
20200101 88 90
20200102 85 90
20200103 89 93
20200104 89 90
20200105 89 90