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

简答题

37.张老师手上有一份学生成绩单(cj.txt),成绩单上只有每位学生的各科成绩,而张老师希望能看到各科成绩的所有学生的平均分,以下代码可以实现平均分的计算,并按示例格式排版,请补充代码。
示例:
with open('/data/cj.txt', ① ) as f:
​ string = f.read()
​ data = string.split('\n')
​ data.pop(0)
​ lis = []
​ for i in data:
​ new = i.split('\t')
​ lis.append(new)# 将分割得到的列表追加到空列表中,lis 为二维
​ lis1 = ['平均分']
​ for i in range(1,4):# 循环3次,因为需要计算3个科目的平均分
​ sum_ = ②
​ average = round(sum_ / 3)
​ lis1.append(str(average))
​ s = "\t".join(lis1)
​ res = string + s
with open('cj1.txt', 'w') as f:
​ f.write(res)

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

答案:

① 'r'② sum(float(new[i]) for new in lis)

解析:

【喵呜刷题小喵解析】:

1. 首先,我们需要在`open`函数中指定文件打开模式为读取模式,即'r',所以①处应填'r'。
2. 接下来,我们需要计算平均分,根据给出的示例,需要循环3次(计算3个科目的平均分)。因此,我们需要将每个学生的每个科目的成绩累加,再除以3。这可以通过`sum`函数和`float`函数来实现,其中`float`函数用于将成绩从字符串转换为浮点数,`sum`函数用于求和。所以,②处应填`sum(float(new[i]) for new in lis)`。这里,`new[i]`表示每个学生的第i个科目的成绩,`new`表示每个学生的成绩列表,`lis`表示所有学生的成绩列表。
创作类型:
原创

本文链接:37.张老师手上有一份学生成绩单(cj.txt),成绩单上只有每位学生的各科成绩,而张老师希望能看到

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

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

分享考题
share