定义一个学生类,类的名称为 Student 展性 8 業180 ③ 作业提交的次数 homework ④ 考勤情況 inclass ⑤ 回答向題情況 answer 类方法:① 输出学生第N次作业、考勤、问答情況:into print0 ② 若当次提交作止,加4分;若末提交,得0分:h scorel) ③ 若当次无缺勤,加2分,若缺课,得0分:iscore() ④ 若当次课堂有回答问题,加1分;若无回答问题,得0分:a scorel) ⑤ 计算当次平时分:score_ total() 公式:当次平時分=作山+考勤+課堂向答
时间: 2023-06-20 08:10:27 浏览: 87
以下是学生类 Student 的代码实现:
```python
class Student:
def __init__(self, name, sex, age, ID, homework=0, inclass=0, answer=0):
self.name = name
self.sex = sex
self.age = age
self.ID = ID
self.homework = homework
self.inclass = inclass
self.answer = answer
def print0(self, n):
print("第{}次作业情况:{}".format(n, self.homework))
print("第{}次考勤情况:{}".format(n, self.inclass))
print("第{}次回答问题情况:{}".format(n, self.answer))
def h_score(self, score):
if score == 1:
self.homework += 4
else:
self.homework += 0
def i_score(self, score):
if score == 1:
self.inclass += 2
else:
self.inclass += 0
def a_score(self, score):
if score == 1:
self.answer += 1
else:
self.answer += 0
def score_total(self):
return self.homework + self.inclass + self.answer
```
上述代码中,我们定义了一个学生类 Student,包含了学生的姓名、性别、年龄、学号、作业提交情况、考勤情况和回答问题情况等属性。
在类中,我们定义了几个方法,分别用于输出学生第N次作业、考勤、问答情况(print0)、计算作业得分(h_score)、计算考勤得分(i_score)、计算回答问题得分(a_score)和计算当次平时分(score_total)。
其中,h_score、i_score 和 a_score 方法中,如果学生当次得分为1,则加上相应的分数;否则不加分。在计算当次平时分时,我们按照公式将作业、考勤和回答问题得分相加即可。
使用示例:
```python
# 创建一个学生对象
s = Student("张三", "男", 18, "20210001")
# 输出学生第1次作业、考勤、问答情况
s.print0(1)
# 如果学生第1次提交了作业,则调用 h_score 方法加上4分
s.h_score(1)
# 如果学生第1次出勤,则调用 i_score 方法加上2分
s.i_score(1)
# 如果学生第1次回答了问题,则调用 a_score 方法加上1分
s.a_score(1)
# 计算学生第1次的平时分
score = s.score_total()
print("学生{}的第1次平时分为{}".format(s.name, score))
```
运行结果:
```
第1次作业情况:0
第1次考勤情况:0
第1次回答问题情况:0
学生张三的第1次平时分为7
```
阅读全文