欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python课后练习当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。

程序员文章站 2022-03-06 09:57:32
题目: 当前目录下有一个文件名为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")

运行结果:

python课后练习当前目录下有一个文件名为score3.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()

 运行结果:

python课后练习当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。

 

 score3.txt

学号 专业课1 专业课2
20200101 88 90
20200102 85 90
20200103 89 93
20200104 89 90
20200105 89 90