编一个关于求多个某门功课总分和平均分的程序。
1.每个学生信息包括姓名和某门功课成绩。
2.假设5个学生。
3.类和对象的处理要合理
分析步骤:
学员类:
属性;名字 str 多个科目:list
科目类;
属性:名字 str 分数 int
class Subject:
‘’’
科目类
‘’’
def init(self,name,score):
self.name=name
self.score=score
def Show(self):
return “科目:%s,分数:%s”%(self.name,self.score)
class Student:
‘’’
学生类
‘’’
def init(self,name,subs):
self.name=name
self.subs=subs
def Show(self):
temp=""
for i in self.subs:
temp+=","+i.Show()
print(“名字:%s”%(self.name)+temp)
def Main():
listA=[] #存储学生
for i in range(5):
subList=[] #存储科目
name=input(“请输入名字:”)
while True:
subName=input(“请输入科目名称:”)
if subName==“q”:
break
subScore=float(input(“请输入%s的分数:”%subName))
subObj=Subject(subName,subScore)
subList.append(subObj)
stuTemp=Student(name,subList)
listA.append(stuTemp)
for i in listA:
i.Show()
check=input(“请输入您要查询的科目:”)
_sum=0
_index=0
for i in listA:
for j in i.subs:
if j.name==check:
_sum+=j.score
_index+=1
print(“您查询的%s科目,总分%s,平均分%0.2f”%(check,_sum,_sum/_index))
Main()