1. 程式人生 > >輸出檔案平均績點最高的學生

輸出檔案平均績點最高的學生

記錄學生成績檔案students.txt。編寫程式,通過讀取檔案找出平均績點最高的學生,然後輸出他的名字、學分和績點。


class student:
     def __init__(self,name,hours,qpoints):
          self.name = name
          self.hours = float(hours)
          self.qpoints = float(qpoints)

     def getname(self):
          return self.name

     def gethours(self):
          return self.hours

     def getqpoints(self):
          return self.qpoints

     def gpa(self):
          return self.qpoints/self.hours

def makestudent(infostr):
     name,hours,qpoints = infostr.split("\t")
     return student(name,hours,qpoints)

def main():
     filename = input("enter name the grade file:")
     infile = open(filename,'r')
     best = makestudent(infile.readline())

     for line in infile:
          s = makestudent(line)
          if s.gpa() > best.gpa():
               best = s

     infile.close()

     print("the best student is",best.getname())
     print("hours:",best.gethours())
     print("gpa:",best.gpa())

main()