编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx

上传人:b****3 文档编号:4799408 上传时间:2022-12-09 格式:DOCX 页数:30 大小:1.81MB
下载 相关 举报
编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx_第1页
第1页 / 共30页
编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx_第2页
第2页 / 共30页
编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx_第3页
第3页 / 共30页
编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx_第4页
第4页 / 共30页
编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx

《编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx》由会员分享,可在线阅读,更多相关《编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx(30页珍藏版)》请在冰豆网上搜索。

编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题.docx

编程NCTPython编程二级模拟卷3含答案程序填空阅读填空程序试题

【编程】NCT-Python编程二级-模拟卷3(含答案程序填空阅读填空程序试题

一、程序填空

1.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,否则原样输出。

2.程序编写

求1+22+32+……+1002的结果

_______________________________

_______________________________

_______________________________

_______________________________

input(“运行完毕,请按回车键退出...”)

3.完善程序。

以下是计算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)

4.调试程序。

请阅读以下程序并写出运行结果。

#ex16.py

i=0

sum=0

whilei<10:

ifi%3==0:

sum+=i

print(i)

i=i+1

print('sum',sum)

_________

5.阅读程序。

foriinrange(1,10):

forjinrange(1,i+1):

print("%dX%d=%2d"%(j,i,j*i),end="")

print()

(1)在第一行程序中,变量i的数据范围为_____到____。

(2)在第二行的程序中,变量j的数据范围为_____到____。

(3)如果“%d”表示十进制数,那么%2d则表示____位宽的十进制数。

(4)第三行程序改为print("%dX%d=%2d"%(i,j,i*j),end=""),则本题的输出应该是_____。

(5)如果最后一行的print()表示换行,那么end=””的功能是_______。

6.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。

*

**

***

****

7.编写程序,找到并输出100以内的素数。

8.分析完善程序

[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。

如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。

(提示:

①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。

)如:

请根据上述算法描述补全代码

s=input("车牌号s=")

n=6

x=s[n-1:

n]

whilex.isdigit()==False:

x=s[n-1:

n]

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:

print("公鸡:

",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]

__________

else:

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

print('最适宜的心率是:

',low,'~',high)

input(“运行完毕,请按回车键退出...”)

15.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)

16.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。

编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。

17.操作说明:

打开文件“Y:

/2/2.py”,在代码窗口指定位置<1>、<2>处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。

以下程序段的功能是:

输入一个正整数n(1至100),输出它的约数的个数。

s=0

n=int(input(“请输入一个正整数:

”))

ifn<1orn>100:

exit#输入的数不符合要求,退出

foriinrange(1,n+1):

ifn//i=0:

___<1>

s=s+i<2>

print(“约数的个数是:

”,s)

18.小王编写了“字符串缩写”程序,实现如下功能:

1.输入一串由英文字母和数字组成的字符串,

2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,

3.例如:

字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。

程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:

实现上述功能的程序如下,请在程序划线处填入合适的代码。

s=input("请输入字符串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

116

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

if(A[i]

(6)______

i+=1

else:

myRank.append(B[j])

j+=1

while(i

myRank.append(A[i])

i+=1

else:

while((7)______):

myRank.append(B[j])

j+=1

print(myRank)

算法二:

myRank=[0]*(len(A)+len(B))

i=0

j=0

k=0

while((8)_____):

k=i+j

if(i>=len(A)):

myRank[k]=B[j]

j+=1

elif(j>=len(B)):

myRank[k]=A[i]

i+=1

elif((9)_____):

myRank[k]=A[i]

i+=1

else:

myRank[k]=B[j]

j+=1

print(myRank)

24.某企业开展“运动打卡动动有奖”活动:

若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。

小强用python编写程序实现相关功能:

输入某员工本月累计运动时间(时),输出其能获得的奖励金额。

(1)实现上述功能的程序如下,请在划线处填入合适的代码。

t=int(input(“请输入您本月累计运动时间(时):

”))

ift<0:

print(“输入错误”)

else:

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______②:

print("公鸡:

",x,"母鸡:

",y,"小鸡:

",z)

_____③

print("共有买法",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*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1