编程NCTPython编程二级模拟卷3含答案.docx
- 文档编号:28486666
- 上传时间:2023-07-14
- 格式:DOCX
- 页数:15
- 大小:121KB
编程NCTPython编程二级模拟卷3含答案.docx
《编程NCTPython编程二级模拟卷3含答案.docx》由会员分享,可在线阅读,更多相关《编程NCTPython编程二级模拟卷3含答案.docx(15页珍藏版)》请在冰豆网上搜索。
编程NCTPython编程二级模拟卷3含答案
【编程】NCT-Python编程二级-模拟卷3(含答案
一、选择题
1.以下对Python程序缩进格式描述错误的选项是()
A.不需要缩进的代码顶行写,前面不能留空白
B.缩进可以用tab键实现,也可以用多个空格实现
C.严格的缩进可以约束程序结构,可以多层缩进
D.缩进是用来格式美化Python程序的
2.下列Python数据不属于列表的是()
A.{24,56,7,89,4}B.[24,56,7,89,4]
C.[24,56,’a’,’猕猴桃’]D.[’A’,’B’’C’,’D’]
3.运行下列Python程序
i=1
s=1
while①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入()
A.i<=7B.i<7C.i>=7D.i>7
4.Python定义私有变量的方法为。
()
A.使用__private关键字
B.使用public关键字
C.使用DEF定义变量名
D.使用__XX定义变量名
5.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。
这段源代码属于()。
A.软件B.程序C.指令D.高级语言
6.在用Python编程对数据进行分析的时候,代码pandas.DataFrame.sum()执行的操作是
A.返回所有列的和B.返回所有行的和
C.返回所有数据中的最大值D.返回所有数据中的最小值
7.如图Python代码执行后,a,b的值分别为:
()
A.5,10B.10,5C.5,5D.10,10
8.Python语句"ab"+"c"*2的运行结果是()
A.abc2B.abcabcC.abccD.ababcc
9.下列选项中不能正确表达Python中的赋值语句的是()
A.X,Y=5,8B.X=Y=5C.X=Y+XD.10=X+Y
10.下列Python表达式中,能正确表示“变量x能够被4整除且不能被100整除”的是()
A.(x%4==0)or(x%100!
=0)
B.(x%4==0)and(x%100!
=0)
C.(x/4==0)or(x/100!
=0)
D.(x/4==0)and(x/100!
=0)
11.下列选项中,属于Python输出函数的是()。
A.random()B.print()C.sqrt()D.input()
12.已知字符串s1="python",s2="Python",则表达式中s1>s2的值为()
A.“python”B.“Python”C.TrueD.False
13.Python程序文件的扩展名是()。
A..pythonB..pytC..ptD..py
14.下列哪个语句在Python中是非法的?
( )
A.x=y=z=1B.x=(y=z+1)
C.x,y=y,xD.x += y
15.下列属于正确的Python变量名的是()
A.True
B.88abc
C.abc&88
D._abc88
二、程序填空
16.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。
“奇校验”的原理:
在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。
例如:
接收到的每个字节及校验码
1的个数
传输正误
100101001
4
错误
011010101
5
正确
101011010
5
正确
根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。
请回答下列问题:
(1)若接收到的二进制码为“101011011”,传输过程__________(选填:
是/否)存在差错。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
s=input("请输入9位二进制编码:
")
code={10:
"A",11:
"B",12:
"C",13:
"D",14:
"E",15:
"F"}
k=0;p=0;ans=“”
foriins:
#统计9位二进制编码中“1”的个数
k=k+int(i)
if____:
print("传输错误!
")
else:
print("传输正确!
")
forjinrange(0,8,4):
p=int(s[j:
j+4],2)
#int(x,[base]):
将x(字符串或者数字)按照base进制转换成整数
if0<=p<=9:
ans=ans+str(p)
else:
ans=___
print("字节编码用十六进制表示:
",___
17.学校开展“奇妙的数字”研究性学习活动。
张轩小组4人决定把课题定为《探秘水仙花数》。
(1)张轩使用XX搜索引擎搜索到“水仙花数”是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:
153=13+53+33,那么这个数就是一个“水仙花数”。
XX属于____搜索引擎(全文,分类)
(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?
张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:
k是可以重新赋值的,k是变量还是常量?
____程序中①处有空缺,请补充完整①处的代码。
____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。
(3)在研究成果展示环节,张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告?
(_____)
18.完善程序实现以下功能并保存。
输入一元二次方程的系数a,b,c的值,求解一元二次方程ax2+bx+c=0(a≠0)
#请不要更改源程序的结构,删除原题里的①、②。
填写正确的代码,使程序完善
importmath
a=float(input("请输入方程系数a(!
=0):
"))
b=float(input("请输入方程系数b:
"))
c=float(input("请输入方程系数c:
"))
delta=b*b-4*a*c
ifdelta>________:
x1=(-b+math.sqrt(delta))/(2*a)
x2=(-b-math.sqrt(delta))/(2*a)
print("方程有两个不同的解",x1,x2)
elifdelta==0:
x1=________
print("方程有两个相同的解",x1)
else:
print("方程无解")
input("运行完毕,请按回车键退出...")
19.求1~100内奇数之和(使用range函数)
20.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:
今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。
凡百钱,买鸡百只。
问鸡翁、母、雏各几何?
这个问题就是著名的“百钱买百鸡问题”。
即:
现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:
公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。
问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
forginrange(1,20):
formin_______:
forxinrange(3,98,3):
if_________and__________==100:
print("公鸡:
",g,"母鸡:
",m,"小鸡:
",x)
21.分析完善程序
已知包含25项的数列:
1,2/3,3/5,....,24/47,25/49。
问题1:
写出该数列的通项公式f(n)=_①
问题2:
以下是计算S=1+2/3+3/5+...+24/47+25/49的程序,请补全代码:
s=0
foriinrange(1,26):
s=s+②
print(“s=”,s)
补充完成上述通项公式和程序:
①f(n)=_________
②___________
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python语法格式。
不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则
解析:
D
【详解】
本题主要考查Python语法格式。
不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则要求,故本题选D选项。
2.A
【详解】
本题考查Python语句。
列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。
选选项B,C,D都属于列表,选项A不属于列表,故本题选A。
解析:
A
【详解】
本题考查Python语句。
列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。
选选项B,C,D都属于列表,选项A不属于列表,故本题选A。
3.A
【详解】
本题考查循环语句。
在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。
解析:
A
【详解】
本题考查循环语句。
在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为whilei<=7,故本题选A。
4.D
【详解】
本题主要考查Python变量的定义。
Python定义私有变量的方法为使用__XX定义变量名,故本题选D选项。
解析:
D
【详解】
本题主要考查Python变量的定义。
Python定义私有变量的方法为使用__XX定义变量名,故本题选D选项。
5.B
【详解】
本题考查知识点是程序的定义。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
解析:
B
【详解】
本题考查知识点是程序的定义。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
指令是指示计算机执行某种操作的命令。
一个指令通常由两部分组成:
操作码+地址码。
高级语言是指以人类的日常语言为基础的一种编程语言。
根据它们的定义,可以得出题目中的源代码属于程序。
故B选项正确。
6.A
【详解】
本题考查的是Python的pandas库相关知识。
PandasDataFrame.sum()函数用于返回用户所请求轴的值之和。
如果输入值是索引轴,,则它将在列中添加所有值,并且对所
解析:
A
【详解】
本题考查的是Python的pandas库相关知识。
PandasDataFrame.sum()函数用于返回用户所请求轴的值之和。
如果输入值是索引轴,,则它将在列中添加所有值,并且对所有列都相同。
它返回一个序列,其中包含每一列中所有值的总和。
故本题应选A。
7.B
【详解】
本题主要考查Python程序的执行。
a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:
10和5,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:
10和5,故本题选B选项。
8.C
【详解】
本题主要考查Python表达式的运算。
“ab”、“c”是字符型数据类型,“c”*2=“cc”,故"ab"+"c"*2的运行结果是abcc,故本题选C选项。
解析:
C
【详解】
本题主要考查Python表达式的运算。
“ab”、“c”是字符型数据类型,“c”*2=“cc”,故"ab"+"c"*2的运行结果是abcc,故本题选C选项。
9.D
【详解】
本题主要考查Python赋值语句。
赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
解析:
D
【详解】
本题主要考查Python赋值语句。
赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
10.B
【详解】
本题主要考查Python表达式的运算。
逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!
=0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!
=0,故本题选B选项。
11.B
【详解】
本题考查的是Python函数。
print()是Python输出函数;input()是Python输入函数。
故选项B正确。
解析:
B
【详解】
本题考查的是Python函数。
print()是Python输出函数;input()是Python输入函数。
故选项B正确。
12.C
【详解】
本题主要考查Python字符串。
比较字符串的大小,是将两个字符串的字符一一比较它们的ASCII值,小写字母的ASCII值大于大写字母,故表达式中s1>s2的值为True,故本题选C选项
解析:
C
【详解】
本题主要考查Python字符串。
比较字符串的大小,是将两个字符串的字符一一比较它们的ASCII值,小写字母的ASCII值大于大写字母,故表达式中s1>s2的值为True,故本题选C选项。
13.D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是.py。
故本题选D选项
解析:
D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是.py。
故本题选D选项
14.B
【详解】
本题主要考查Python赋值语句。
语句x=y=z=1,赋值x、y、z值均为1;语句x,y=y,x交换x、y的值;x+=y等价于x=x+y;语句x=(y=
解析:
B
【详解】
本题主要考查Python赋值语句。
语句x=y=z=1,赋值x、y、z值均为1;语句x,y=y,x交换x、y的值;x+=y等价于x=x+y;语句x=(y=z+1)是非法的,故本题选B选项。
15.D
【详解】
本题主要考查Python变量名命名规则。
Python变量名命名规则如下:
(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;
(2)Python变量名不能是P
解析:
D
【详解】
本题主要考查Python变量名命名规则。
Python变量名命名规则如下:
(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;
(2)Python变量名不能是Python关键字,但可以包含关键字;(3)Python变量名不能包含空格。
由上可知D选项正确。
【点睛】
二、程序填空
16.是k%2==0或(k+1)%2==1或(k-1)%2==1ans+code[p]ans
【详解】
本题主要考查Python程序的执行与调试。
①若接收到的二进制码为“101011011”,1的个数有6个,则传输过程存在差错。
②变量k统计1的个数,若k是偶数则表明传输错误,否则传输正确,故此处填k%2==0或(k+1)%2==1或(k-1)%2==1。
③如果p是1~9之间的数字,则直接将p拼接到ans中,否则从字典code中取对应的字母,故此处填ans+code[p]。
④变量ans保存转换后的十六进制,故此处填ans。
17.全文变量k+1枚举法Word/WPS/PowerPoint等
【详解】
本题主要考查Python程序的执行与调试。
①XX属于全文搜索引擎,也是关键词搜索。
②变量可以反复赋值,故k是变量。
③循环体执行完,k递增,继续找水仙花数,故此处填k+1。
④逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。
⑤在研究成果展示环节,张轩小组可以使用Word/WPS/PowerPoint等软件制作《探秘水仙花数》的研究成果报告。
18.-b/(2*a)
【详解】
本题主要考查Python程序执行与调试。
①delta大于0,方程有两个不同的解,delta等于0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。
②delta=0,则方程有两个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。
19.Sum=0
foriinrange(1,101,2):
Sum+=i
print(Sum)
【详解】
本题主要考查Python程序设计。
求1~100内奇数之和,用Sum来求和,变量i的范围是1到100,每次递增2,可以使用range函数,具体代码如下:
Sum=0
foriinrange(1,101,2):
Sum+=i
print(Sum)
20.range(1,33)g+m+x==1005*g+3*m+x/3
【详解】
本题考查的是算法中的经典问题。
百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。
21.n/(2*n-1)或n/(n*2-1)i/(2*i-1)或i/(i*2-1)
【详解】
本题主要考查Python程序的执行与调试。
①分析数列可知,分子第n项是n,分母第n项是2*n-1,故该数列的通项公式f(n)=n/(2*n-1)或n/(n*2-1)。
②此处是对前n项进行求和,变量是i,使用语句s=s+i/(2*i-1)或s=s+i/(i*2-1),故此处填i/(2*i-1)或i/(i*2-1)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 NCTPython 二级 模拟 答案