入门程序题

编一个关于求多个某门功课总分和平均分的程序。
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()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值