第1题,面向对象设计程序,类的定义和使用,执行效果如下页如示。要求:1 定义一个学生类,类的名称为Student 属性② 学号 ID①姓名name ③作业提交的次数homework④ 考勤情况 inclass⑤ 回答问题情况answer 类方法: ①输出学生第N次作业、考勤、问答情况:infoprint() 若当次提交作业,加4分;若未提交,得0分:h_score()③ 若当次无缺勤,加2分,若缺课,得0分:iscore() ④若当次课堂有回答问题,加1分;若无回答问题,得0分:a score()5计算当次平时分:score total() 公式:当次平时分=作业+考勤+课堂问答 完成程序设计后,定义1个同学进行测试。 姓名 学号 作业次数 考勤 问答 初始作 初始考勤 初始问 截止到第3次作 业分数 分数 答分数业平时分总分 张启东 19112215 无缺勤 3 张启东19112215完成第3次作业 第3次课缺课1次答问题次 截止第3周课程平时分(黑加):19分其中作业分:16分考勤分:8分 同答分:1分 周数 作业次数 考勤 课堂问答 平时分满分 15周 154=60 152=30 1*n(最大值10) 60+30+10=100
时间: 2023-06-20 16:10:34 浏览: 154
第7章-面向对象程序设计基础.ppt
以下是代码实现:
```python
class Student:
def __init__(self, name, id):
self.name = name
self.id = id
self.homework = 0
self.inclass = "无缺勤"
self.answer = 0
def infoprint(self, n):
print(f"{self.name}{self.id}完成第{n}次作业,考勤情况为{self.inclass},回答问题次数为{self.answer}")
def h_score(self):
if self.homework > 0:
return 4
else:
return 0
def iscore(self):
if self.inclass == "无缺勤":
return 2
else:
return 0
def a_score(self):
if self.answer > 0:
return 1
else:
return 0
def score_total(self):
return self.h_score() + self.iscore() + self.a_score()
student = Student("张启东", "19112215")
student.infoprint(3)
student.homework = 1
student.inclass = "缺课1次"
student.answer = 1
print(f"第3次作业得分为:{student.h_score()}")
print(f"第3次考勤得分为:{student.iscore()}")
print(f"第3次课堂问答得分为:{student.a_score()}")
print(f"第3次平时得分为:{student.score_total()}")
```
执行效果如下:
```python
张启东19112215完成第3次作业,考勤情况为无缺勤,回答问题次数为0
第3次作业得分为:4
第3次考勤得分为:0
第3次课堂问答得分为:1
第3次平时得分为:5
```
阅读全文