VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python课后练习当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生

题目:

  当前目录下有一个文件名为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
现在的努力只为将来遇见更好的你!

相关教程