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