python课后练习当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。
程序员文章站
2022-06-19 10:46:41
题目: 当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。分 别用函数实现以下功能: (1) 定义函数function1,计算每个学生的平均分(取 整数),并将所有学生的学号和平均分在屏幕上 输出。(函数参数为要读取文件的文件名) def funct ......
题目:
当前目录下有一个文件名为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