image

编辑人: 未来可期

calendar2025-05-25

message5

visits627

2023月05月Python三级实操参考答案

一、编程题

1、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


2、37.新学期到了,学校接收了一批捐赠的图书,小明编写了一个简单的程序用来管理图书,并支持借阅功能。为了提高查找图书的效率,小明使用了二分查找法来设计图书借阅功能。以下是小明编写的图书借阅管理程序,请你补全代码。 library=dict() #用字典生成一个图书管理数据结构(字典的键为编号,字典的值为['书名',本数]) #书籍入库 nums=len(library) #先计算图书编号总数 library[nums+1]=['红楼梦',5] #在编号总数的基础上继续添加新书:library[新编号]=['书名',本数] library[nums+2]=['西游记',10] library[nums+3]=['水浒传',5] library[nums+4]=['三国演义',10] print(library) blist=list(library.keys()) #按书名借阅: bookname=input('请输入借阅图书名称:') min_v = blist[0] max_v = blist[-1] turns=0 while min_v <= ① : turns += 1 cur = (min_v + max_v) ② print(cur) if library[cur][0] == ③ : if library[cur][1] > 0: library[cur][1] -= ④ print('《%s》借阅成功!'%bookname) else: print('抱歉,您选择的书籍已被借完!') break elif blist[cur-1] > cur: min_v = ⑤ else: max_v = ⑥ print("经过%d轮二分查找,完成图书的搜索。"%turns)


3、38.某班“天天向上”小组共有6个同学,姓名和身高数据分别存放在列表a中,编写程序实现小组同学按身高从高到低输出名单,运行结果如图所示: 程序代码如下,请在划线处补充完整:a=[["李洪全",135],["王倩倩",154],["吴乐天",148],["周立新",165],["鲁正",158],["杨颖颖",150]]for i in range(1,len(a)): for j in range(0, ① ): if a[j][1] ② a[j+1][1]: a[j],a[j+1]=a[j+1],a[j]print("小组名单是:")for i in range(len(a)):print( ③ )

参考答案:划线处①应填:len(a[i-1]),即列表a中每个子列表的长度,也就是1(姓名和身高共两项)。划线处②应填:<=,即比较当前同学的身高和下一个同学的身高,如果当前同学的身高小于等于下一个同学的身高,则交换两者的位置。划线处③应填:a[i][0] + "," + str(a[i][1]),即输出同学的姓名和身高,中间用逗号和空格隔开。


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2023月05月Python三级实操参考答案

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