lixia7777 2021-11-09 15:09 采纳率: 0%
浏览 1000
已结题

定义学生类,含有若干学生数据,求各科成绩最高分和平均分

1.已有若干个学生数据,这些数据包括学号,姓名,Python 程序设计成绩,高等数学成绩和大数据技术成绩,要求定义学生类,并用其成员函数修改各门课程的分数(要求将方法装饰成属性)、求各门课程的最高分、平均分。
求修改代码:
class Student:
def__init__(self,id,name,program,math,data):
self.id=id
self.name=name
self.program=program
self.math=math
self.data=data
@staticmethod
def get_avg(*students):
program_total=0
math_total=0
data_total=0
for i in range(len(students)):
program_total += students[i].program
math_total += students[i].math
data_total += students[i].data
return [program_total/len(students),math_total/len(students),data_total/len(students)]
def get_max(self,*students):
program_max = 0
math_max = 0
data_max = 0
return [max(students.program),max(students.math),max(students.data)]
if name == 'main':
student1=Student('001','张三',55,55,55)
student2=Student('002','李四',66,66,66)
student3=Student('003','王五',77,77,77)
students=[student1,student2,student3]
print('平均分\n程序设计基础:{0},高等数学:{1},大数据:{2}'.format(Student.get_avg(*students)[0],Student.get_avg(*students)[1],Student.get_avg(*students)[2]))
print('最高分\n程序设计基础:{0},高等数学:{1},大数据:{2}'.format(Student.get_max(*students)[0],Student.get_max(*students)[1],Student.get_max(*students)[2]))

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2021-11-09 16:10
    关注

    获取最大值函数这样改写即可:

    def get_max(self, *students):
    
            program = []
            math = []
            data = []
            for i in range(len(students)):
                program.append(students[i].program)
                math.append(students[i].math)
                data.append(students[i].data)
    
            return [max(program), max(math), max(data)]
    
    

    如有帮助,请点击采纳按钮支持~~

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月20日
  • 创建了问题 11月9日

悬赏问题

  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥15 有关于推荐系统jupyter
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据
  • ¥15 关于树的路径求解问题
  • ¥15 yolo在训练时候出现File "D:\yolo\yolov5-7.0\train.py"line 638,in <module>
  • ¥30 戴尔inspiron独显直连