刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

36.某班级期中考试成绩汇总在文件“score.csv”中,包含了语文、数学、英语三科的分数,数据内容如下图显示:
小明编写了如下程序,读取成绩文件中的数据,并分别计算语文、数学、英语三科成绩的平均分,请你补全代码。
import csv
ChineseNum=0
MathNum=0
EnglishNum=0
num=0
with open('/data/score.csv',encoding='utf-8') as csv_file:
​ row = csv.reader(csv_file, delimiter=',')
​ next(row) # 读取首行
​ for r in row:
​ ChineseNum += float( ① )
​ MathNum += float( ② )
​ EnglishNum += float( ③ )
​ num += ④
print("语文平均成绩是:%.2f"%(ChineseNum/num))
print("数学平均成绩是:%.2f"%(MathNum/num))
print("英语平均成绩是:%.2f"%(EnglishNum/num))

使用微信搜索喵呜刷题,轻松应对考试!

答案:

① r[0]② r[1]③ r[2]④ 1

解析:

【喵呜刷题小喵解析】:
根据题目中的描述,程序需要读取“score.csv”文件中的数据,并分别计算语文、数学、英语三科成绩的平均分。

首先,程序已经定义了四个变量:ChineseNum(语文总分)、MathNum(数学总分)、EnglishNum(英语总分)和num(总人数)。

接下来,程序打开“score.csv”文件,并使用csv.reader()函数读取文件中的数据。在读取数据之前,程序使用next(row)读取了首行,即列名。

然后,程序使用for循环遍历文件中的每一行数据。在循环中,程序需要获取每行数据中的语文、数学、英语三科的分数,并分别累加到对应的变量中。

根据题目中的描述,语文、数学、英语三科的分数分别位于每行数据的第1、2、3列。因此,在for循环中,程序可以使用r[0]、r[1]、r[2]分别获取每行数据的语文、数学、英语分数。

最后,程序需要计算语文、数学、英语三科成绩的平均分。由于每行数据代表一个学生的成绩,因此程序需要将num加1,以计算总人数。在计算平均分时,程序需要将ChineseNum、MathNum、EnglishNum分别除以num。

因此,在for循环中,程序应该使用r[0]、r[1]、r[2]分别获取每行数据的语文、数学、英语分数,并将num加1。最终,程序使用print()函数输出语文、数学、英语三科成绩的平均分。
创作类型:
原创

本文链接:36.某班级期中考试成绩汇总在文件“score.csv”中,包含了语文、数学、英语三科的分数,数据内

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share