NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx

上传人:b****8 文档编号:9528680 上传时间:2023-02-05 格式:DOCX 页数:31 大小:1,023.36KB
下载 相关 举报
NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx_第1页
第1页 / 共31页
NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx_第2页
第2页 / 共31页
NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx_第3页
第3页 / 共31页
NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx_第4页
第4页 / 共31页
NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx

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

NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题.docx

NCTPython编程三级模拟卷5含答案word程序填空阅读填空程序试题

NCT-Python编程三级-模拟卷5(含答案word程序填空阅读填空程序试题

一、程序填空

1.编写一个程序,实现九九乘法口诀表。

2.程序补充:

(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?

调用round()函数,保留结果两位小数。

money=_______________________________

rate=_________________________________

for___________________________________

____________________________________

print(“5年以后存款总额:

”,money,“元”)

(2)某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。

每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。

在收益率不变的情况下,多少年后本金被全部取出?

money=________________________________

year=__________________________________

while_________________________________

_________________________________

________________________________

print(year,“年后资金被全部取出”)

3.将下列程序代码补充完整:

某同学参加了学校体检,体检的医生告诉他体重超重,需要加强运动。

该同学了解到运动时,心率如能控制在一定范围内,对增强心血管系统和呼吸系统的功能都有很好的效果;超出范围,对身体反而会有损伤。

男最适宜运动心率=(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(“运行完毕,请按回车键退出...”)

4.程序编写

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

_______________________________

_______________________________

_______________________________

_______________________________

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

5.完善程序。

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

6.程序分析题

学校举行校园歌手大赛,评委由6人组成。

评分方法:

去掉一个最高分和一个最低分,计算其余4位评委的平均分,作为选手的最终得分。

max记录最高分;min记录最低分;s记录六位评委的总分;aver记录最终得分。

第1步:

从文本框中分别读入6位评委的打分并依次存入到a

(1)至a(6)中

第2步:

将第1位评委的打分a

(1)分别赋给最高分max,最低分min和总分S

第3步:

利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。

第4步:

从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分。

max=a[0]

min=a[0]

s=0

foriinrange(6):

s=s+a[i]

ifa[i]>max:

max=a[i]

ifa[i]

min=a[i]

aver=()/4

(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件生成的。

A.EntryB.LabelC.FrameD.Button

(2)题目中算法描述采用的是__________A、自然语言B、伪代码C、流程图D、.N-S图

(3)下列程序代码片段对应于算法描述中的第2步至第4步。

请填写片段中空白处的表达式填写完整________

7.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:

今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。

凡百钱,买鸡百只。

问鸡翁、母、雏各几何?

这个问题就是著名的“百钱买百鸡问题”。

即:

现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:

公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。

问公鸡、母鸡和小鸡各几何?

(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。

forginrange(1,20):

formin_______:

forxinrange(3,98,3):

if_________and__________==100:

print("公鸡:

",g,"母鸡:

",m,"小鸡:

",x)

8.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,

请输入以下代码,自己输入数据运行,结果截图提交

9.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。

得到的数字应按逗号分隔的顺序打印在一行上。

提示:

考虑使用range(#begin,#end)

10.哥德巴赫在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”则结果显示_____

11.编写程序,找到并输出100以内的偶数个数。

12.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。

13.猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

14.请在空格处填写正确的代码,使程序完善。

实现功能:

用辗转相除法求解两个正整数的最大公约数。

x=int(input('请输入第一个正整数:

'))

y=int(input('请输入第二个正整数:

'))

m=max(x,y)#找出x,y中的最大值

n=min(x,y)#找出x,y中的最小值

r=m%n#求得最大值除以最小值后的余数

whiler!

=0:

#如果余数不等0,则进行以下循环

m=________#把最小值赋给m

n=_________#把余数赋给n

r=m%n#求得最大值除以最小值后的余数

print('这两个数的最大公约数为:

',______)

input("运行完毕,请按任意键退出....")

15.求100以内素数。

16.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。

请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。

17.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。

编写程序求出这些小朋友的可能人数。

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

________

a=[]

foriinrange(100,1000):

if_____________:

a.append(i)

total+=1

print("这群小朋友总的人数有:

")

forjinrange(len(a)):

print(____,end='、')

print('')

print('可能情况数为:

',total,'种')

划线处①处应该填入的语句为:

划线处②处应该填入的语句为:

划线处③处应该填入的语句为:

18.有如下程序段:

sum=0

foriinrange(1,20,3):

sum+=i

print(“sum=”,sum)

(1)循环变量i的初值为:

_________,终值为:

_________,步长为:

__________。

(2)该程序执行后,输出的结果为:

____________________。

19.小敏有10万元本金,想要购买银行保证收益型理财产品。

每年到期后连本带利仍购买此种理财。

请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。

(例如输人:

5.15%,输出:

14年后收益超过本金。

1s=input("请输入年利率:

")

2rate=float(s[:

-1])*0.01

3money=100000

4year=0

5whilemoney<=200000:

6money=round(),2)

7year=year+1

8print(year,"年后收益超过本金。

”)

(1)程序第6行下划线处应填入___________。

(2)程序第2行的作用是____________,并赋值给变量rate。

(3)该程序主要是通过while实现____________结构。

20.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。

请完善程序。

程序如下:

importmath

defIsPrime(i):

ifi==1:

returnFalse

forjinrange(2,int(math.sqrt(i))+1):

if____:

returnFalse

returnTrue

a=int(input("请输入a:

"))

b=int(input("请输入b:

"))

summ=0

foriinrange(a,b+1):

ifIsPrime(i):

________

whilet>0:

summ=summ+t%10

_________

print("数字和为:

",summ)

21.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。

它是已知最古老的算法,其可追溯至公元前300年前。

辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。

因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。

小曲设计了辗转相除法的算法,请根据下面算法回答问题。

描述一

描述二

描述三

①输入两个正整数m,n(m>n);

②计算m除以n所得的余数r;

③m=n,n=r;

④若r=0,则m,n的最大公约数等于m;否则转到步骤②;

⑤输出最大公约数m;

⑥结束。

(1)描述一是________描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。

(2)在描述三中代码4到6行作用是__________。

(3)在描述三程序设计中,补充代码第8行划线处为__________。

22.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。

为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。

一般情况下,规模N=1时,问题的解是已知的。

已知:

从1到n的连续自然数相乘的积、叫做阶乘、用符号n!

表示。

如5!

=1×2×3×4×5,规定0!

=1。

我们用递归算法可以较容易求n的阶乘。

求n的阶乘算法可以描述如下:

n!

=n*(n-1)!

(n-1)!

=(n-1)*(n-2)!

(n-2)!

=(n-2)*(n-3)!

2!

=2*1!

1!

=0!

0!

=1

如果把n!

写成函数形式,即f(n),f(n)=n*f(n-1)。

如f(5)就是表示5!

,求5!

的过程可以写成如下形式:

f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f

(2)f

(2)=2*f

(1)f

(1)=1

(问题求解)在python中用递归算法求1!

+2!

+……+n!

(n的值为整数,从键盘输入)。

请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。

deff(n):

ifn==0:

return1

else:

return_________

s=0

n=int(input("请输入n:

"))

foriin_______:

s=________

print(s)

23.学习了Python绘制图形操作后,信息小组接到了编程演示的任务。

为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。

代码如下:

importturtle

turtle.bgcolor("black")

colors=["red","green","blue","yellow"]

forx①range(100):

turtle.pencolor(colors[x%4])

turtle.circle(x)

turtle.left(90)

请分析任务,完成下列题目。

(1)程序中①处应填写(________)。

A.printB.inputC.inD.colors

(2)程序中x%4的作用是(________)。

A.计算x乘以4的结果

B.计算x除以4的整数部分

C.计算x除以4的小数部分

D.计算x除以4的余数

(3)执行此程序,绘制出圆形的总颜色数是(________)。

A.1B.4C.5D.100

(4)执行此程序,绘制出圆形的总个数是(________)。

A.1B.4C.99D.100

(5)此程序属于程序设计结构中的(________)。

A.顺序结构B.分支结构

C.循环结构D.跳转结构

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.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。

编写python程序,实现如下功能:

输入n的值,统计显示n以内的所有双胞胎数。

程序运行界面如图所示:

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

defisprime(x):

foriinrange(2,x):

if①__________:

returnFalse

returnTrue

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

”))

c=0

k=3

whilek<=n-2:

ifisprime(k)and②___________:

print(k,k+2)

③___________

k=k+1

print(“共有”+str(c)+“对双胞胎数”)

26.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。

(1)Python程序设计语言属于程序设计语言中的_______________。

A.机器语言B.汇编语言C.高级语言D.翻译程序

(2)小C将设计好的算法转为Python程序语言(如下)。

其中“Tot2=8”是一个___________,“#初始化时长费为0”是一个__________,“S<=3.3”是一个___________,“float(input(“请输入时长”))”是一个__________。

A.函数B.表达式C.赋值语句D.注释语句

1Tot1=0#初始化时长费为0

2Tot2=0#初始化里程费为0

3S=float(input(“请输入里程数”))

4T=float(input(“请输入时长”))#输入里程数和时长

5if(T>9):

#计算时长费用

6Tot1=(T-9)*0.2

7if(S<=3.3):

#算里程费用

8Tot2-8

9else:

10Tot2=8+(S-3.3)*1.35

11Cost-Totl+tot2

12print(Cost)#输出总车费

(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:

____________________________________________________________________________________________。

NameErrorTraceback(mostrecentcalllast)

in

9else:

10

—→11Cost=Tot1+tot2

12

NameError:

name’tot2’isnotdefined

(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。

小C借助于计算机编写程序解决问题的这个过程是:

①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。

(填写序号即可)

(5)总结用计算机解决问题的优势主要有:

_______________________________________________。

27.阅读程序。

分析以下两段Python程序并回答问题。

#程序1

i=1

whilei<101:

print('把这句话打印100遍')

i+=1

#程序2

i=100

whilei:

print('把这句话打印100遍')

i=i-2

(1)在程序1中,i+=1这句话的含义是______________。

(2)在程序1中,‘把这句话打印100遍’实际输出了_____遍。

(3)在程序2中,i的初值是___。

(4)在程序2中,‘把这句话打印100遍’实际输出了_____遍。

(5)在程序2中,whilei的含义是_________。

28.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。

校验码由前面9个X计算得到,计算方法为:

从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。

用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输出“错误"。

运行样例如下所示:

样例1:

输入:

2-163-91475-4

输出:

正确

样例2:

输入:

2-163-91475-5

输出:

错误

(1)Python程序实现如下,请在划线处填入正确的代码:

s=input("输入物品代码:

")

a=[]

foriinrange(0,13):

if___

a.append(int(s[i]))#append()函数用于在列表末尾添加新的对象

sum=0

foriinrange(0,9):

____

sdm=sum%10

___

ifsdm==ydm:

print("正确")

else:

print("错误")

29.使用Python自身提供的IDLE集成开发环境录入以下代码及调试

运行,检测结果。

#鸡兔同笼

forxinrange(1,23):

y=35-x

if4*x+2*y==94:

print("兔子有%s只,鸡有%s只"%(x,y))

特别提示:

代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。

30.输入n,计算s=1!

+2!

+...+n!

的未6位(不含前导0)。

N<=1000000,n!

表示前n个正整数之积。

【参考答案】***试卷处理标记,请不要删除

 

一、程序填空

1.foriinrange(1,10):

forjinrange(1,i+1):

print(str(j)+"*"+str(i)+"="+str(i*j),end="")

print("")

【详解】

本题主要考查Python程序的执行。

九九乘法口诀表可以通过嵌套for循环实现,内层循环完一次,执行print("")换行,具体代码如下:

foriinrange(1,10):

forjinrange(1,i+1):

print(str(j)+"*"+str(i)+"="+str(i*j),end="")

print("")

2.[0.0325,0.03,0.03,0.02,0.0175]iinr

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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