使用python,创建一个程序,基本框架:1.创建一个对象 student 2.包含基本信息:姓名/学号 3.新的对象python成绩单:继承student,并新加入属性score 3.包含成绩处理信息:重修将成绩设为60;程序要求:创建对象读取scorelist.txt中的信息,统计最终成绩在优(>90),良(<90,>80),中(<80,>70),及格(<70,>60)人数比例
时间: 2024-03-01 15:55:35 浏览: 138
下面是一个参考代码,实现了上述要求:
```python
class Student:
def __init__(self, name, id):
self.name = name
self.id = id
class PythonScore(Student):
def __init__(self, name, id, score):
super().__init__(name, id)
self.score = score
self.process_score()
def process_score(self):
if self.score < 60:
self.score = 60
score_list = []
with open('scorelist.txt', 'r') as f:
for line in f:
name, id, score = line.strip().split()
score = int(score)
score_list.append(PythonScore(name, id, score))
excellent = 0
good = 0
medium = 0
passing = 0
total = len(score_list)
for score in score_list:
if score.score > 90:
excellent += 1
elif score.score > 80:
good += 1
elif score.score > 70:
medium += 1
elif score.score > 60:
passing += 1
print('优秀的人数比例:{:.2%}'.format(excellent / total))
print('良好的人数比例:{:.2%}'.format(good / total))
print('中等的人数比例:{:.2%}'.format(medium / total))
print('及格的人数比例:{:.2%}'.format(passing / total))
```
此程序首先定义了一个`Student`类,包含姓名和学号两个基本信息。然后定义了一个`PythonScore`类,继承了`Student`类,并新增了一个`score`属性。在`PythonScore`类中,使用`process_score`方法将成绩低于60分的学生成绩设为60分。最后,程序从`scorelist.txt`文件中读取学生信息,统计最终成绩在优、良、中、及格的人数比例,并输出结果。
阅读全文