2023月05月Python三级实操答案及解析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、编程题

1、36.某班级期中考试成绩汇总在文件“score.csv”中,包含了语文、数学、英语三

科的分数,数据内容如下图显示:

小明编写了如下程序,读取成绩文件中的数据,并分别计算语文、数学、英语三科

成绩的平均分,请你补全代码。

importcsv

ChineseNum=0

MathNum=0

EnglishNum=0

num=0

withopen(/data/score.csv,encoding=utf-8)ascsv_file:

row=csv.reader(csv_file,delimiter=,)

next(row)#读取首行

forrinrow:

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()函数输出语文、数学、英语三科

成绩的平均分。

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

whilemin_v=①:turns+=1cur=(min_v+max_v)②print(cur)iflibrary[cur][0]==

③:iflibrary[cur][1]0:library[cur][1]-=④print(《%s》借阅成功!%bookname)

else:print(抱歉,您选择的书籍已被借完!)breakelifblist[cur-1]cur:min_v=⑤

else:max_v=⑥print(经过%d轮二分查找,完成图书的搜索。%turns)

解析:【喵呜刷题小喵解析】:

首先,我们分析题目中给出的代码。小明使用了一个字典来存储图书信息,字典

键是图书的编号,值是图书的

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档