编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题Word文档格式.docx
- 文档编号:17747128
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:30
- 大小:1.81MB
编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题Word文档格式.docx
《编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
6.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
**
***
****
7.编写程序,找到并输出100以内的素数。
8.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。
(提示:
①所有车牌号中都含有数字,并且车牌号的长度都是6;
②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。
)如:
请根据上述算法描述补全代码
s=input("
车牌号s="
)
n=6
x=s[n-1:
n]
whilex.isdigit()==False:
①
x=s[n-1:
if②==0:
print(“双号”)
else:
print(“单号”)
(提示:
s[n:
m]的功能:
从字符串s的
下标为n的元素开始,截取到下标为m-1的元素。
例如:
s="
12345"
s[2:
4]="
34"
。
s.isdigit):
判断是否为数字。
(1)根据题意,程序中空白①处应填写:
______
(2)根据题意,程序中空白②处应填写:
______(填:
A/B/C/D)。
A.int(x)/2==0B.int(x)%2==0C.int(x)%2=0D.int(x)%2!
=0
9.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:
今有鸡翁一,直钱五;
鸡母一,直钱三;
鸡雏三,直钱一。
凡百钱,买鸡百只。
问鸡翁、母、雏各几何?
这个问题就是著名的“百钱买百鸡问题”。
即:
现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:
公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。
问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
forginrange(1,20):
formin_______:
forxinrange(3,98,3):
if_________and__________==100:
公鸡:
"
g,"
母鸡:
m,"
小鸡:
x)
10.约瑟夫问题是个有名的问题:
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])
11.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
12.求50以内所有5的倍数的和。
13.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:
能被4整除但不能被100整除或能被400整除,闰年的2月为29天)
day=input("
请输入年月日(格式举例:
2000-01-05):
year=int(day[:
4])
month=_________
sun=int(day[8:
10])
print(year,month,sun)
f_run=[31,28,31,30,31,30,31,31,30,31,30,31]
tall_day=0
if______:
foriinrange(month-1):
tall_day+=f_run[i]
__________
tall_day+=sun
print(day+"
是当年的第"
+str(tall_day)+"
天"
(1)将程序横线处补充完整
(2)如输入“2020-4-19”为当年的第_____天。
14.将下列程序代码补充完整:
某同学参加了学校体检,体检的医生告诉他体重超重,需要加强运动。
该同学了解到运动时,心率如能控制在一定范围内,对增强心血管系统和呼吸系统的功能都有很好的效果;
超出范围,对身体反而会有损伤。
男最适宜运动心率=(220-年龄数-安静心率)×
(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×
(60%~80%)+安静心率,补充程序帮他(她)计算最适宜的运动心率。
age=float(input('
请输入age='
))
HRrest=float(input('
请输入HRrest='
gender=input(“请输入maleorfemale:
”)
if____________________:
____________________
else:
_____________________
low=(n-age-HRrest)*0.6+HRrest
high=(n-age-HRrest)*0.8+HRrest
最适宜的心率是:
'
,low,'
~'
,high)
15.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
16.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。
编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。
17.操作说明:
打开文件“Y:
/2/2.py”,在代码窗口指定位置<
1>
、<
2>
处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。
以下程序段的功能是:
输入一个正整数n(1至100),输出它的约数的个数。
n=int(input(“请输入一个正整数:
ifn<
1orn>
100:
exit#输入的数不符合要求,退出
foriinrange(1,n+1):
ifn//i=0:
___<
s=s+i<
print(“约数的个数是:
”,s)
18.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,
3.例如:
字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。
请输入字符串s:
_______
flag=False
result="
foriinrange(0,k-1):
if___________________:
result=result+s[i]+"
-"
flag=True
eliford(s[i])!
=ord(s[i+1])-1:
result=result+s[i]
_____
result=result+s[i+1]
print("
缩写后的字符串为:
result)
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
划线处③处应该填入的语句为:
19.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解垃圾的分类情况,建立了以下四类列表,list1(可回收垃圾)、list2(有害垃圾)、list3(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。
list1=["
玻璃瓶"
"
旧书"
金属"
纸板箱"
旧衣服"
易拉罐"
]
list2=["
胶片"
消毒水"
纽扣电池"
水银温度计"
过期药水"
泡沫塑料"
list3=["
动物内脏"
菜叶菜梗"
过期食品"
香蕉皮"
果壳"
根据现有列表,完成以下问题:
(1)写出从列表list3中取出“过期食品”的表达式:
___________________________________________________________________________
(2)写出从list1中截取["
]这一段的表达式:
___________________________________________________________________________
(3)现又发现一个新的列表如下:
list4=["
过期化妆品"
过期药品"
杀虫剂"
],经过判断,里面存放的为有害垃圾,如何将该列表中的元素添加到list2中,请写出相关的表达式:
__________________________________________________________________________
(4)小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到列表list1中:
20.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo={‘小明’:
‘巨蟹座’,‘小红’:
‘处女座’,‘小兰’:
‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
_________________________________________________________
(4)写出删除该字典的表达式:
21.已知圆柱体的底面半径为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)请找出程序中的错误代码,并改正。
____________________________________________
22.学校开展“奇妙的数字”研究性学习活动。
张轩小组4人决定把课题定为《探秘水仙花数》。
(1)张轩使用XX搜索引擎搜索到“水仙花数”是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:
153=13+53+33,那么这个数就是一个“水仙花数”。
XX属于____搜索引擎(全文,分类)
(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?
张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:
k是可以重新赋值的,k是变量还是常量?
____程序中①处有空缺,请补充完整①处的代码。
____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。
(3)在研究成果展示环节,张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告?
(_____)
23.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。
许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。
但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。
小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。
为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。
现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。
于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。
A
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
11
66
116
329
438
582
652
714
756
925
B
E10
E9
E8
E7
E6
E5
E4
E3
E2
E1
35
215
271
309
428
576
772
806
950
Python程序如下:
A=[11,66,116,329,438,582,652,714,756,925]
B=[35,116,215,271,(5)__,428,576,772,806,950]
算法一:
myRank=
i=0
j=0
while(i<
len(A)andj<
len(B)):
if(A[i]<
B[j]):
(6)______
i+=1
else:
myRank.append(B[j])
j+=1
len(A)):
myRank.append(A[i])
while((7)______):
print(myRank)
算法二:
myRank=[0]*(len(A)+len(B))
k=0
while((8)_____):
k=i+j
if(i>
=len(A)):
myRank[k]=B[j]
elif(j>
=len(B)):
myRank[k]=A[i]
elif((9)_____):
24.某企业开展“运动打卡动动有奖”活动:
若员工在本月累计运动时间30小时以下,奖励0元;
达到30但不足45小时奖励300元;
达到45但不足60小时奖励450元;
60小时及以上奖励500元。
小强用python编写程序实现相关功能:
输入某员工本月累计运动时间(时),输出其能获得的奖励金额。
(1)实现上述功能的程序如下,请在划线处填入合适的代码。
t=int(input(“请输入您本月累计运动时间(时):
ift<
0:
print(“输入错误”)
ift<
30:
①_
elift<
45:
m=300
②_____
m=450
else:
m=500
print(“您的奖励是:
”,m)
(2)当输入“-1”时,输出信息为_________(选填,填字母:
A.输入错误/B.您的奖励是:
0/C.您的奖励是:
500)
25.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。
使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2
图1
图2
实现上述功能的Python程序如下:
importpandasaspd
importitertools
#读数据到pandas的DataFrame结构中
df=________(”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’)
km=[‘物理’,‘化学’,‘生物’,‘政治’,‘历史’,‘地理’,‘技术’]
#按学校分组计数
sc=df.groupby(‘___________’,as_index=False).count()
#对分组计数结果进行合计,合计结果转换为DF结构并转置为行
df_sum=pd.DataFrame(data=sc.sum()).T
df_sum[‘学校代码’]=‘合计’
#增加"合计"行
result=sc.append(df_sum)
#百分比计算
df_percent=df_sum
df_percent[‘学校代码’]=‘比例’
forkinkm:
per=df_percent.at[0,k]/zrs
df_percent[k]=per
#增加"百分比"行
result=result.append(df_percent)
#删除"姓名"列
result=______________
#修改"学生编号"为"总人数"
result=result.rename(columns={‘学生编号’:
‘总人数’})
#保存结果,创建Excel文件.生成的Excel文件
result.to_excel("学校人数统计.xlsx")
(1)请在划线处填入合适的代码:
(2)加框处语句的作用是__________________
26.“枚举算法”又称为“穷举法”,其基本思想是:
一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。
小明利用枚举算法解决“百元买百鸡”问题。
用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。
公鸡5元1只,母鸡3元1只,小鸡1元3只。
请问公鸡,母鸡,小鸡各应该买多少只?
假设公鸡有X只,母鸡有Y只,小鸡有Z只。
以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。
c=0
forxin____①:
foryinrange(1,33):
z=100-x-y
if______②:
公鸡:
x,"
母鸡:
y,"
小鸡:
z)
_____③
共有买法"
c,"
种"
27.阅读程序。
分析以下关于字符拼接与转换的Python程序并回答问题。
students=['
小明'
'
小红'
小刚'
scores={'
:
95,'
90,'
90}
print(len(students))
print(len(scores))
(1)students的数据类型是______________。
(2)scores的数据类型是_____________。
(3)在scores中,每个字符与后面的数值共同构成了一个____________。
(4)len(students)的返回值是____________。
(5)print(len(scores))的输出结果是__________。
28.水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:
1**3+5**3+3**3=153。
这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
[问题求解]设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。
需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。
请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
print("
三位数之内的水仙花是:
forxin___(100,1000):
b=x//100
s=(x//10)___
g=___
Ifx=(b*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 NCTPython 二级 模拟 答案 程序 填空 阅读 试题