「已注销」 2022-12-23 14:51 采纳率: 33.3%
浏览 79
已结题

关于#csv#的问题,如何解决?

1.根据提示代码创建一个stu_score.csv文件,用来存储学生的成绩。
2.输出上述创建好的文件内容,输出格式如下:
["姓名,学号,语文,数学’,‘英语’,科学]

img

3.封装一个Student类,要求包含:
(1)属性:name(姓名)、num(学号)、score(成绩)为列表
(2)方法:get_name()用于获取并打印学生姓名、get_num()用于获取并打印学生学号、
get_high_score()用于获取并打印成绩中的最高分
4.使用Student类的实例化对象实现对每名同学的姓名、学号、最高分的输出,输出效果如下:

任务要求:在作答区域补全代码,并满足题目要求。

  • 写回答

2条回答 默认 最新

  • chuifengde 2022-12-23 15:41
    关注
    import csv
    
    def getinfo():
        stu = []
        with open("stu_score.csv", encoding = 'utf-8') as f:
            csr = csv.reader(f)
            for i in csr:
                stu.append(i)
        return stu
    
    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))
        
    stu = getinfo()        
    for i in stu:
        print(i)  
    
    for i in stu[1:]:
        s = Student(i[0], i[1], i[2:])
        print(f"姓名:{s.get_name()} 学号:{s.get_num()} 最高分数:{s.get_high_score()}")
    
    --result
    ['姓名', '学号', '语文', '数学', '英语', '科学']
    ['张山', '0001', '80', '90', '98', '67']
    ['李思', '0002', '95', '93', '88', '87']
    ['王武', '0003', '95', '86', '92', '90']
    ['赵露', '0004', '86', '92', '96', '77']
    姓名:张山 学号:0001 最高分数:98
    姓名:李思 学号:0002 最高分数:95
    姓名:王武 学号:0003 最高分数:95
    姓名:赵露 学号:0004 最高分数:96
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月31日
  • 已采纳回答 12月23日
  • 赞助了问题酬金15元 12月23日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计