编程NCTPython编程三级模拟卷4含答案程序填空阅读填空程序试题.docx
《编程NCTPython编程三级模拟卷4含答案程序填空阅读填空程序试题.docx》由会员分享,可在线阅读,更多相关《编程NCTPython编程三级模拟卷4含答案程序填空阅读填空程序试题.docx(28页珍藏版)》请在冰豆网上搜索。
![编程NCTPython编程三级模拟卷4含答案程序填空阅读填空程序试题.docx](https://file1.bdocx.com/fileroot1/2022-11/20/a38b3645-3b83-4816-b640-ffae14d4e401/a38b3645-3b83-4816-b640-ffae14d4e4011.gif)
编程NCTPython编程三级模拟卷4含答案程序填空阅读填空程序试题
【编程】NCT-Python编程三级-模拟卷4(含答案程序填空阅读填空程序试题
一、程序填空
1.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
else:
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
A.left=midB.right=midC.left=mid+1D.right=mid-1
2.程序编写
求1+22+32+……+1002的结果
_______________________________
_______________________________
_______________________________
_______________________________
input(“运行完毕,请按回车键退出...”)
3.阅读程序。
分析下列切片相关程序并回答问题。
list2=[5,6,7,8,9]
print(list2[:
])
print(list2[2:
])
print(list2[:
2])
print(list2[1:
3])
print(list2[2:
4])
(1)程序第一个print的输出结果是______________。
(2)程序第二个print的输出结果是______________。
(3)程序第三个print的输出结果是______________。
(4)程序第四个print的输出结果是______________。
(5)程序第五个print的输出结果是______________。
4.完善程序。
以下是计算S=1+6+11+…+101的程序代码。
请你在
处填写正确的语句。
s=0
k=1
while(k<=101)
__
s=0
k=1
while(k<101):
k=k+5
s=s+k
print(s+1)
5.调试程序。
请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
forfruitinfruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
6.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
**
***
****
7.以下是计算s=1+6+11+...+101的程序代码,请补全程序。
s=0
foriinrange(1,102, ):
s=
print(s)
请补充完成上述程序①_________②_________
8.约瑟夫问题是个有名的问题:
N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。
例如N=6,被杀掉的顺序是:
1,4,3,0,5;最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:
”))
foriinrange(0,n-1):
llist.append([i,i+1])
___________
___________
long=n
k=head
i=1
p=2
while(____):
ifi==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
ift==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
9.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
10.求50以内所有5的倍数的和。
11.哥德巴赫在1742年提出了以下猜想:
任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。
importmath
defss(n):
Flag=True
i=2
whilei<=int(math.sqrt(n))andFlag:
if_____________
Flag=False
_____________
returnFlag
n=int(input(“输入一个大于2的偶数”))
foriinrang(2,n//2+1):
if____________
print(str(n)+"="+str(i)+"+"+str(n-i))
如果输入“8”则结果显示_____
12.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
13.输入n,计算s=1!
+2!
+...+n!
的未6位(不含前导0)。
N<=1000000,n!
表示前n个正整数之积。
14.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。
其内容是:
公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
(1)请在空格处填写正确的代码,使程序完善实现以下功能。
money=100#一共100文钱
num=100#一共100只鸡
cock_price=5#公鸡价格5文
hen_price=3#母鸡价格3文
threechick_price=1#3只小鸡1文
forcock_numinrange(1,_______):
#公鸡只数可能为1-20
forhen_numinrange(1,_________):
#母鸡只数可能为1-33
forchick_numinrange(1,101):
#(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num/threechick_price
num1=cock_num+hen_num+chick_num
ifmoney1==moneyandnum1==num:
print(cock_num,hen_num,__________)
input("运行完毕,请按回车键退出...")
(2)运行程序,运行结果如图所示。
15.编写一个程序,实现九九乘法口诀表。
16.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。
编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。
17.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。
编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[]
foriinrange(100,1000):
if_____________:
a.append(i)
total+=1
print("这群小朋友总的人数有:
")
forjinrange(len(a)):
print(____,end='、')
print('')
print('可能情况数为:
',total,'种')
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
18.完善代码并保存。
实现功能:
从键盘输入10个学生的测试成绩,输出最高分和最低分。
cj=[]
foriinrange(0,________):
x=float(input("请输入一个数"))
cj.append(________)
print(max(cj),min(________))
input("运行完毕,请按回车键退出...")
19.已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:
3.14,请根据下列代码回答问题:
r=int(input(“请输入半径r:
”))
h=int(input(“请输入高h:
”))
_________________________
c=2*pi*r
s=pi*r**2
S=c*h
V=s*h
print(c,s,S,V)
(1)解决问题的程序用到的控制结构有:
__________________(填:
顺序结构、分支结构、循环结构)
(2)请将程序补充完整。
(3)请找出程序中的错误代码,并改正。
____________________________________________
20.已知6月份10位技术考试成绩:
1
2
3
4
5
6
7
8
9
10
78
88
89
90
83
76
75
98
100
65
技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:
a=[78,88,89,90,83,76,75,98,100,65]
______
sum=0
foriinrange(n):
ifa[i]>=80:
________
print(sum)
执行上述程序段后,输出的内容是______
21.某种数据加密方法描述如下(加密前数据是ASCII字符):
●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。
●数据加密规则:
数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。
位置变换:
用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:
加密后某数据段的第i个