大学python的一道面向对象编程题

大学python希望各位仁兄求解 就这样,谢谢大家,感谢你们,我亲爱的程序员们

img


img

class Student:
    def __init__(self, name, number):
        self.name = name
        self.number = number
        self.scores = [0.0] * self.number
    def getAverage(self):
        return round(sum(self.scores) / self.number, 1)
    
    def getHighScore(self):
        return max(self.scores)
    
    def getName(self):
        return self.name
    
    def getScore(self, i):
        return self.scores[i-1]
    
    def setScore(self, i, score):
        self.scores[i-1] = score * 1.0
    
        
    def __str__(self):
        return f"name:{self.name}\nscores:{' '.join(map(str,self.scores))}" 


s = Student('lisi', 5)
print(s)
s.setScore(2, 95)
print(s)
print(s.getAverage())
print(s.getHighScore())
print(s.getScore(2))
print(s.getName())

"""--result
name:lisi
scores:0.0 0.0 0.0 0.0 0.0
name:lisi
scores:0.0 95.0 0.0 0.0 0.0
19.0
95.0
95.0
lisi
"""

提供的代码,你复制粘贴出来。
我帮你写。

class Student:
    def __init__(self,name,number):
        self.name = name
        self.scores=[0.0,0.0,0.0,0.0,0.0]
    def __str__(self):
        scoresStr = [str(s) for s in self.scores]
        return f'name: {self.name}\nscores: {" ".join(scoresStr)}'
    def getAverage(self):
        return sum(self.scores)/len(self.scores)
    def getHighScore(self):
        return max(self.scores)
    def getName(self):
        return self.name
    def getScore(self,i):
        return self.scores[i-1]
    def setScore(self,i,score):
        self.scores[i-1] = score
if __name__=='__main__':
    s = Student('lisi',5)
    print(s)
    s.setScore(2,95.0)
    print(s)
    print(s.getAverage())
    print(s.getHighScore())
    print(s.getScore(2))
    print(s.getName())

img