当前位置: 移动技术网 > IT编程>脚本编程>Python > python课后练习当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。

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

2020年01月09日  | 移动技术网IT编程  | 我要评论

猪猪侠之百变联盟全集,交公粮,不实名不能发红包

题目:

  当前目录下有一个文件名为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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网