记录学生成绩文件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()