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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM