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]))
![](https://profile-avatar.csdnimg.cn/4683cbcb40d840729cae5079e34a4bf2_lixia7777.jpg!4)
定义学生类,含有若干学生数据,求各科成绩最高分和平均分
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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)]
如有帮助,请点击采纳按钮支持~~
解决 1无用
悬赏问题
- ¥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独显直连