NCTPython编程二级模拟卷2含答案优质练习Word文档格式.docx
《NCTPython编程二级模拟卷2含答案优质练习Word文档格式.docx》由会员分享,可在线阅读,更多相关《NCTPython编程二级模拟卷2含答案优质练习Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
B.图中python34根结点有4个子结点
C.图中python34根结点下有5个子树(子结点)
D.图中Tools是python34的子树(子结点)
12.已知列表list1=[88,22,34,89,67],则python表达式min(list1)的值为()
A.22B.88C.89D.67
13.在python中,运行下列程序,正确的结果是()
s=0
foriinrange(1,5):
s=s+i
print("
i="
i,"
s="
s)
A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=15
14.算法用Python程序实现,以下代码中哪处语句存在语法错误()
A.
B.
C.
D.
15.Python表达式中,可以使用()控制运算的优先顺序。
A.圆括号()B.方括号[]C.大括号{}D.尖括号<
16.在Python中,通过()函数查看字符的编码。
A.int()B.ord()C.chr()D.yolk()
17.在Python中运行后,b的值是()
a=6
Ifa>
=0:
b=a+2
Else:
b=a-2
print(b)
A.6B.8C.10D.12
18.下面选项中对Python的转义字符描述错误的是()
A.\r回车B.\n换行C.\\反斜杠符号D.\”单引号
19.下面()是Python合法的变量名
A.int32B.40XLC.selfD.name
20.以下不属于高级程序设计语言的是()。
A.C++B.VBC.机器语言D.Python
21.以下Python代码的运行结果是()。
a=3
b=4
a=a*b
print(a)
A.3B.4C.12D.a*b
22.有如下python程序段:
a="
Doingisbetterthansaying."
print(r"
\n"
+a[:
15])
该程序运行后,输出的结果是()
A.直接输出:
'
\nDoingisbetter'
B.直接输出:
\nDoingisbetterth
C.直接输出:
\nDoingisbetter
D.先换行,然后在新的一行中输出:
Doingisbetter
23.我们可以对文本中词频较高的分词,通过词云图给予视觉上的突出,小明打算用Python程序来生成词云图,程序中需要用到以下哪个第三方库?
()
A.WordCloudB.mathC.randomD.turtle
24.在python中能实现下面结果的代码是()。
请输入你的性别:
A.print(“请输入你的性别:
”)B.print(请输入你的性别:
)
C.input(“请输入你的性别:
”)D.input(请输入你的性别:
25.计算机能直接接收和执行的程序设计语言为()
A.VisualBasic语言B.Python语言C.机器语言D.自然语言
26.下面代码执行完毕后,a和b的值分别为()
a=l
a=l;
b=2
b=2;
a=b
a=b;
VB、Python代码
JAVA代码
A.1和2B.1和1C.2和2D.2和1
27.在python计数循环中,列表正确的输写方式是()。
A.(1,2,3)B.(1,2.3)C.[1,2.3]D.[1,2,3]
28.已知列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)的值为()
A.5B.34C.7D.12
29.如下Python程序段
x=2
print(x+1)
print(x+2)
运行后,变量x的值是()
A.2B.3C.5D.
30.运行Python程序的过程中出现了如下图错误提示,原因是()。
A.变量名51study太长
B.应该写成"
chinese"
=51study
C.“chinese”应该写成“chinaˈs”
D.变量名51study不符合python语言规范,变量名不能以数字开头
二、程序填空
31.编写程序。
如图所示的算法,请用Python程序写出实现该算法相应的代码。
32.水仙花数是指一个三位数,它的每个位上的数字的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**3+s**3+g**3):
print(___)
33.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。
为求解规模为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_________
n=int(input("
请输入n:
))
foriin_______:
s=________
print(s)
34.某字符转置算法描述如下:
将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26);
·
转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充);
每一段中K个数据与K*K转置矩阵进行乘法运算;
将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。
乘法运算规则如下:
第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K)
例如:
字符串s=PYTHON,区块大小K=4,的转置过程如下:
(1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为________。
(2)请在划线处填入合适代码。
PrivateSubCommandl_Click()
Dima(1To100)AsInteger´
存储字符串,长度不超过100个字符
Dimb(1To100)AsInteger存储转置矩阵,长度不超过10*10
Dimc(1To100)AsLong
DimsAsString,tmpAsString
DimkAsInteger,tAsInteger,iAsInteger,jAsInteger
DimnAsInteger,mAsInteger,lensAsInteger
s=Textl.Text´
在Textl中输入原始字符串
k=Val(Text2.Text)´
在Text2中输入区块大小K
Randomize
Fori=1Tok^2
b(i)=Int(Rnd*9)+1
tmp=tmp十Str(b(i))
IfiModk=0Then
List2.AddItemtmp
tmp="
.
EndIf
Nexti
lens=Len(s):
n=lens
Fori=1Ton
tmp=Mid(s,i,1)
①__________
Listl.AddItemStr(a(i))
DoWhilenModk<>0
n=n十1
a(n)=0
Listl.AddItemStr(a(n))
Loop
m=(i―1)Modk+1
t=1
Forj=②__________
c(i)=a(j)*b((m-1)*k+t)+c(i)
t=t+1
Nextj
Nexti
List3.AddItemStr(c(i))
s=″″
Fori=1Tolens
③__________
s=s+Chr(t+64)}
Text3.Text=s´
在Text3中输出转置后的字符串
EndSub
35.在一千多年前的《孙子算经》中,有这样一道算术题:
“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
”。
即一个数除以3余2,除以5余3,除以7余2,求这个数。
i=①________
while(i%3!
=2②________i%5!
=3ori%7!
=2):
i=③________
print(i)
36.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。
37.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。
得到的数字应按逗号分隔的顺序打印在一行上。
提示:
考虑使用range(#begin,#end)
38.调试程序。
请阅读以下程序并写出运行结果。
#ex16.py
i=0
sum=0
whilei<
10:
ifi%3==0:
sum+=i
print(i)
i=i+1
print('
sum'
sum)
_________
39.调试程序。
fruites=['
banana'
'
apple'
mango'
]
forfruitinfruites:
print(fruit)
a=len(fruites)
a='
a)
_________________
40.程序补充:
(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,“年后资金被全部取出”)
【参考答案】***试卷处理标记,请不要删除
1.B
【详解】
本题主要考查Python循环结构。
Python中所有循环必须包含的是冒号、循环体、缩进。
不是Python中所有循环必须包含的是循环次数,可能是while循环条件,故本题选B选项。
解析:
B
2.A
本题主要考查Python表达式的运算。
2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=
A
2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("
)//3=5,故本题选A选项。
3.A
本题主要考查Python表达式。
int是取整函数,abs求绝对值函数,len返回字符串的长度,ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(in
int是取整函数,abs求绝对值函数,len返回字符串的长度,ord()函数主要用来返回对应字符的ascii码,round是四舍五入函数,故abs(int(-5.6))=5,len("
)=6,ord("
)=53,round(5.9)=6,故本题选A选项。
4.D
本题主要考查程序设计语言。
python、VC、JAVA均属于高级语言,汇编语言属于低级语言,故本题选D选项。
D
5.C
“//”是向下取整,abs是求绝对值函数,-16//5=-4,abs(-16//5)=4,故执行结果是4,故本题选C选项。
C
6.A
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
7.C
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
8.A
本题考查的是算法相关知识。
所谓“算法”就是解题方法的精确描述,由有限个步骤组成。
算法独立于任何具体的语言,但Python算法也可以用其他语言来实现,故选项A错误;
解决问题的过程就是实现
解决问题的过程就是实现算法的过程。
算法可以通过编程来实现。
算法是程序设计的核心,即是程序设计的“灵魂”。
故应选A。
9.B
本题主要考查Python命令提示符。
python的命令行提示符是>
,故本题选B选项。
10.C
本题考查的是计算机语言。
计算机语言有:
机器语言、汇编语言、高级语言。
高级语言有:
VisualBasic、Pascal、C、C++、Java、Python等。
故选项C正确。
11.B
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);
图中python34根结点有8个子结点;
图中python34根结点下有5个子
图中python34根结点下有5个子树(子结点);
图中Tools是python34的子树(子结点),故本题选B选项。
12.A
本题主要考查Python列表。
min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。
13.A
本题考查Python程序实现。
变量i的范围是从1到4,当i=4时,跳出循环,此时s=0+1+2+3+4=10。
故本题选A选项
14.D
本题考查的是Python程序调试。
双分支IF语句。
if(条件)后面要加冒号,else后面也要加冒号。
故标号4中存在语法错误。
15.A
本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。
16.B
本题主要考查Python字符函数。
int()函数用于将一个字符串或数字转换为整型;
ord()函数它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Uni
ord()函数它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值;
chr()函数返回当前整数对应的ASCII字符;
yolk是一个python工具,用于获取有关已安装的python包的信息,故本题选B选项。
17.B
本题主要考查Python程序的执行。
a=6,满足a>
=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。
18.D
本题主要考查Python转义字符。
\r回车,\n换行,\\反斜杠符号,\”双引号,故本题选D选项。
19.ACD
本题主要考查Python变量的命名。
Python变量的命名不能以数字开头(可以以下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。
ACD
20.C
本题考查计算机语言。
C++,VB,Python都属于高级程序设计语言。
机器语言则不是。
故本题选项C不属于高级程序设计语言。
21.C
a