1.根据提示代码创建一个stu_score.csv文件,用来存储学生的成绩。
2.输出上述创建好的文件内容,输出格式如下:
3.封装一个Student类,要求包含:
(1)属性:name(姓名)、num(学号)、score(成绩)
(2)方法:get_name()用于获取并打印学生姓名、get_num()用于获取并打印学生学号、
get_high_score()用于获取并打印成绩中的最高分
4.使用Student类的实例化对象实现对每名同学的姓名、学号、最高分的输出,输出效果如下:
任务要求:在作答区域补全代码,并满足题目要求。
import csv
file_dir = 'stu_score1.csv'
data_dict = [
{'姓名': '张山', '学号': '0001', '语文': '80', '数学': '90', '英语': '98', '科学': '67'},
{'姓名': '李思', '学号': '0002', '语文': '95', '数学': '93', '英语': '88', '科学': '87'},
{'姓名': '王武', '学号': '0003', '语文': '95', '数学': '86', '英语': '92', '科学': '90'},
{'姓名': '赵露', '学号': '0004', '语文': '86', '数学': '92', '英语': '96', '科学': '77'},
]
# 1.
with open(file_dir,'w',newline = '') as fw:
head = data_dict[0].keys()
dc = csv.DictWriter(fw, head)
dc.writeheader()
dc.writerows(data_dict)
# 2.
with open(file_dir, encoding = 'utf-8') as fr:
csr = csv.reader(fr)
for i in csr:
print(i)
print("-" *30)
# 3.
class Student():
def __init__(self, name, num, score, ):
self.name = name
self.num = num
self.score = score
def get_name(self) :
return self.name
def get_num(self):
return self.num
def get_high_score(self):
return max(map(int, self.score))
# 4.
for i in data_dict:
s = Student(i['姓名'], i['学号'], [i['语文'], i['数学'], i['英语'], i['科学']])
print(f"姓名:{s.get_name()} 学号:{s.get_num()} 最高分数:{s.get_high_score()}")