试题计算机二级Python真题及答案解析2.docx
- 文档编号:5592169
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:13
- 大小:429.14KB
试题计算机二级Python真题及答案解析2.docx
《试题计算机二级Python真题及答案解析2.docx》由会员分享,可在线阅读,更多相关《试题计算机二级Python真题及答案解析2.docx(13页珍藏版)》请在冰豆网上搜索。
试题计算机二级Python真题及答案解析2
试题计算机二级Python真题及答案解析2
一、选择题
1.小新编制了一个python程序如下,但程序无法执行,你帮他找出程序中一共有几处错误()
1a=3
b=input()
c=a+b
print("c")
A.1B.2C.3D.4
2.已知字符串a="python",则a[1]的值为()
A."p"B."py"C."Py"D."y"
3.下列哪条赋值语句在Python中是非法的:
()
A.X=Y=Z=1B.X=(Y=Z+1)C.X,Y=Y,XD.X+=Y
4.运行下列Python程序
i=1
s=1
while①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入()
A.i<=7B.i<7C.i>=7D.i>7
5.在Python中,用变量code存储学生的借书卡编码,例如:
code=“NO.2020100502”,则变量code的数据类型应定义为()
A.布尔型B.整型C.字符串型D.浮点型
6.在Python程序中,要求s=3+6+9+…+300的值,可以采用如下代码,下列选项中的说法不正确的是()。
A.for循环语句中步长为3B.语句s=0应改为s=1
C.语句s=s+i共循环执行了100次D.程序使用了循环结构
7.有如下python程序段:
a="Doingisbetterthansaying."
print(r"\n"+a[:
15])
该程序运行后,输出的结果是()
A.直接输出:
'\nDoingisbetter'
B.直接输出:
\nDoingisbetterth
C.直接输出:
\nDoingisbetter
D.先换行,然后在新的一行中输出:
Doingisbetter
8.以下不属于高级程序设计语言的是()。
A.C++B.VBC.机器语言D.Python
9.下列选项中不能正确表达Python中的赋值语句的是()
A.X,Y=5,8B.X=Y=5C.X=Y+XD.10=X+Y
10.下列选项中,不能作为python程序变量名的是()
A.abcB.abc123C.123abcD.abc__123
11.利用Python求100以内所有能被3整除的正整数,代码如下:
则下列程序第3行的横线应该填()
A.i=i*3B.i=i%3C.i%3==0D.i/3==1
12.Python使用函数()接收用输入的数据
A.accept()B.input()C.readline()D.print()
13.Python中,保留字写法正确的是()
A.PRINT()
B.Print()
C.print()
D.Int()
14.小林编写一段文件读写操作代码,文件如图,代码段如下:
file=open('ceshi.txt','w')
file.write("pythonisaprogramminglanguage.")
file.close()
file=open('ceshi.txt','r')
print(file.read())
该代码段运行后,输出的结果为()
A.IADistributedSystemBasedonPython.
B.pythonisaprogramminglanguage.
C.IADistributedSystemBasedonPython.pythonisaprogramminglanguage.
D.程序编译错误,不会输出结果
15.Python文件的后缀名是()
A.pdfB.doC.passD.py
二、程序填空
16.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?
请帮小金完成代码编程.
defconvert(s):
m=0
le=len(s)
key=s[le-1]
ifkey=="B":
n=2
elifkey=="D":
_______
else:
n=16
i=0
whilei<=le-2:
c=s[le-1-i]
ifc>="0"andc<="9":
a=ord(c)-ord("0")
elifc>="A"andc<="F":
a=ord(c)-ord("A")+10
_____________
i+=1
returnm
s=input("请输入算式")
result=0;suanfu1="";suanfu2="";s1=""
foriinrange(len(s)):
c=s[i]
ifc=="+"orc=="-"orc=="=":
__________
suanfu1=suanfu2
suanfu2=c
ifsuanfu1=="":
result=t
ifsuanfu1=="+":
result=result+t
ifsuanfu1=="-":
result=result-t
s1=""
else:
s1=s1+c
print("计算结果为"+str(result)+"D")
(1)将程序横线处补充完整
(2)如输入“1110B+10D-30H=”则输出结果为___________。
17.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
18.输入三个同学的成绩,然后大到小排列。
19.利用for循环,分别计算1--100中奇数的和、偶数的和。
20.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
21.请在空格处填写正确的代码,使程序完善。
实现功能:
用辗转相除法求解两个正整数的最大公约数。
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("运行完毕,请按任意键退出....")
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题考查Python程序语法
Python变量命名不能以数字开头、变量b、c必须先定义后使用。
故有3处错误,故本题选C选项
解析:
C
【详解】
本题考查Python程序语法
Python变量命名不能以数字开头、变量b、c必须先定义后使用。
故有3处错误,故本题选C选项
2.D
【详解】
本题主要考查Python字符串。
字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。
解析:
D
【详解】
本题主要考查Python字符串。
字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。
3.B
【详解】
本题考查Python语句。
选项A,X=Y=Z=1是合法的赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓的“Y=Z+1”并不返回任何值,所以这是一个错误的赋值语
解析:
B
【详解】
本题考查Python语句。
选项A,X=Y=Z=1是合法的赋值语句;选项B,X=(Y=Z+1),X被赋值“Y=Z+1”,但这个所谓的“Y=Z+1”并不返回任何值,所以这是一个错误的赋值语句,这是非法的;选项C,X,Y=Y,X这是交换语句,合法;选项D,X+=Y相当于X=X+Y,故本题选B。
4.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。
5.C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确
解析:
C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确。
6.B
【详解】
本题主要考查Python程序调试。
分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序调试。
分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。
7.C
【详解】
本题主要考查Python程序运行。
r标识\后面的字符不转义,a[:
15]表示从a的右边往左第15位到最左边全部输出,故该程序运行后,输出的结果是直接输出:
\nDoingis
解析:
C
【详解】
本题主要考查Python程序运行。
r标识\后面的字符不转义,a[:
15]表示从a的右边往左第15位到最左边全部输出,故该程序运行后,输出的结果是直接输出:
\nDoingisbetter,故本题选C选项。
8.C
【详解】
本题考查计算机语言。
C++,VB,Python都属于高级程序设计语言。
机器语言则不是。
故本题选项C不属于高级程序设计语言。
解析:
C
【详解】
本题考查计算机语言。
C++,VB,Python都属于高级程序设计语言。
机器语言则不是。
故本题选项C不属于高级程序设计语言。
9.D
【详解】
本题主要考查Python赋值语句。
赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
解析:
D
【详解】
本题主要考查Python赋值语句。
赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
10.C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
解析:
C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
11.C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
12.B
【详解】
本题主要考查Python函数。
accept()接受一个客户端的连接请求并返回一个新的套接字,input函数用于数据的输入,readline()函数用于读取文件中的一行,print()
解析:
B
【详解】
本题主要考查Python函数。
accept()接受一个客户端的连接请求并返回一个新的套接字,input函数用于数据的输入,readline()函数用于读取文件中的一行,print()函数用于打印输出数据,故本题选B选项。
13.C
【详解】
本题主要考查Python保留字。
保留字不能将其用作标识符;保留字区分字母大小写,大写的不是保留字;if,else,for等单词是保留字,也不能将其用作标识符;标识符是由字符(A~Z
解析:
C
【详解】
本题主要考查Python保留字。
保留字不能将其用作标识符;保留字区分字母大小写,大写的不是保留字;if,else,for等单词是保留字,也不能将其用作标识符;标识符是由字符(A~Z和a~z)、下划线和数字组成,但第一个字符不能是数字;标识符不能和Python中的保留字相同。
故print()是保留字正确的写法。
14.B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后
解析:
B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后,输出的结果为pythonisaprogramminglanguage.,故本题选B选项。
15.D
【详解】
本题主要考查Python文件知识点。
Python文件的后缀名是py,故本题选D选项。
解析:
D
【详解】
本题主要考查Python文件知识点。
Python文件的后缀名是py,故本题选D选项。
二、程序填空
16.n=10m=m+(n**(le-2-i))*at=convert(s1)-24D
【详解】
本题主要考查Python程序的执行与调试。
①二进制的权值是2,十进制的权值是10,十六进制的权值是16,此处是十进制的情况,故填n=10。
②二进制、十六进制转化为十进制的方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填m=m+(n**(le-2-i))*a。
③当字符c是“+”、“-”、“=”时,则表明第一个运算数已全部保存到变量s1中,此处需要将其转化为十进制保存到变量t中,故填t=convert(s1)。
④1110B转化为十进制数是14D,30H转化为十进制数是48D,故1110B+10D-30H=-24D。
17.foriinrange(100,1000):
a=i//100
b=(i//10)%10
c=i%10
ifi==a*a*a+b*b*b+c*c*c:
print(i)
【详解】
本题主要考查程序设计。
可通过Python程序设计实现题干要求,通过for循环找出水仙花数,依次取出三位数的每一位数,其中百位a=i//100,十位b=(i//10)%10,个位c=i%10,然后判断是否是水仙花数,具体代码如下:
foriinrange(100,1000):
a=i//100
b=(i//10)%10
c=i%10
ifi==a*a*a+b*b*b+c*c*c:
print(i)
18.
【详解】
本题主要考查程序设计与实现。
可以使用Python程序实现题干要求:
19.sum1=0
sum2=0
foriinrange(1,101):
ifi%2==0:
sum1+=i
else:
sum2+=i
print(sum1,sum2)
【详解】
本题主要考查程序设计。
可以使用Python程序设计语言实现题干要求,通过if条件分支结构可以实现分别计算奇数的和、偶数的和,具体代码如下:
sum1=0
sum2=0
foriinrange(1,101):
ifi%2==0:
sum1+=i
else:
sum2+=i
print(sum1,sum2)
20.pw=input("请输入密码:
")
password="123456"
i=1
while(i<=3):
ifpw==password:
print("恭喜你进入系统!
")
break
else:
print("请重新尝试:
",i)
pw=input("请输入密码:
")
i=i+1
【详解】
本题主要考查程序设计。
可以通过Python程序设计语言实现题干要求,可以通过while循环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:
pw=input("请输入密码:
")
password="123456"
i=1
while(i<=3):
ifpw==password:
print("恭喜你进入系统!
")
break
else:
print("请重新尝试:
",i)
pw=input("请输入密码:
")
i=i+1
21.nrn
【详解】
本题考查的是Python循环语句。
辗转相除法:
用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
由n=min(x,y)可知最小值为n,故①处为n,由r=m%n可知余数为r,故②处为r,最后的除数是n(即最大公约数为n),故③处为n。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试题 计算机 二级 Python 答案 解析