2024月12月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.分解质因数

输入一个整数,分解质因数。例如:输入90,打印出90=2*3*3*5。请完善以下代

码,运行程序。

target=int(input(输入一个整数:))

print(target,=,end=)

iftarget0:

target=①(target)

print(-1*,end=)

flag=0

iftarget=1:

print(target,end=)

flag=②

whileTrue:

ifflag:

break

foriinrange(2,int(target+1)):

if③:

print(%d%i,end=)

iftarget==i:

flag=1

break

print(*,end=)

break

解析:

这是一个关于分解质因数的问题。给定的代码框架已经提供了基本的思路,我们需

要完善其中的空缺部分。以下是详细的解析:

1.对于输入的整数target,首先需要判断其是否为负数。如果是负数,取其绝

对值并进行分解质因数。因此,空缺①应填写abs(target)。

2.当输入的数小于或等于1时,直接打印该数即可,无需进行质因数分解。因

此,在判断结束后,应将flag设为真(表示已经处理完毕),所以空缺②应

填写flag=1。

3.在循环中,我们需要判断当前的数i是否是target的因数。如果是,就打印出

来。因此,空缺③应填写条件判断语句target%i==0。

4.当找到一个因数后,需要继续寻找其他的因数。因此,在打印当前因数后,

需要继续循环寻找下一个可能的因数。所以空缺④应填写continue语句。

2、37.成绩系统

小王同学编写了一个成绩录入和查询系统,能实现输入多个互不相同的分数,自动

进行从高到低排名,同时输入要查询的分数,可以获得相应同学的姓名。程序运行

结果如下图所示,实现代码如下,请你补全空缺处。

n=int(input(请输入总人数:))

name=[]*n

score=[0]*n

\#输入功能,分别输入姓名与分数

foriinrange(n):

name[i]=input(请输入第+str(i+1)+个人名:)

①=int(input(请输入第+str(i+1)+个分数:))

\#排名功能

foriinrange(n-1):

forjinrange(0,n-1-i):

ifscore[j]②score[j+1]:

score[j],score[j+1]=score[j+1],score[j]

name[j],name[j+1]=name[j+1],name[j]

print(——————各个同学分数排名如下——————)

print(name)

print(score)

\#查询功能

i=0

key=int(input(请输入要查询的分数:))

b=-1

whilei=jandb==-1:

m=(i+j)//2

ifscore[m]==key:

b=m

elifscore[m]key:

j=④

else:

i=m+1

ifb==-1:

print(没有同学获得该分数!)

else:

print(分数为+str(key)+的同学是:+⑤)

解析:

这是一个关于成绩录入和查询系统的Python代码,需要补全空缺部分以实现相应的

功能。我们来逐行解析代码并补全空白部分。

首先,需要创建一个列表来存储分数,并在循环中输入每个学生的分数。在第①处

,我们需要将输入的分数存储在score列表中对应的位置,即score[i]。因此,该处

的代码应为score[i]。

接下来是排名功能部分。这部分代码使用冒泡排序算法对分数进行排序,并将对应

的名字也进行排序。在第②处,我们需要比较两个分数的大小以确定它们的排序顺

序。因此,该处的代码应为表示大于。如果前一个分数大于后一个分数,则交

换它们的位置。同时,名字列表中的对应元素也需要交换位置。排序完成后,打印

出排名结果。

最后是查询功能部分。这部分代码使用二分查找算法查找指定分数的同学。在第③

处,我们需要进入一个无限循环来执行查询操作。因此,该处的代码应为while

True:。在循环中,根据输入的分数与中间值的比较结果来缩小查找范围。在第④

处,如果中间值小于要查询的分数,那么查询范围缩小到中间值的右侧部分,因此

该处的代码

文档评论(0)

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

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

1亿VIP精品文档

相关文档