试题计算机二级Python真题及答案解析2
一、选择题
1.小新编制了一个python程序如下,但程序无法执行,你帮他出程序中一共有几处错误( )
1a=3
b=input()
c=a+b
print("c")
A.1 B.2 C.3 D.4
2.已知字符串a="python",则a[1]的值为( )
A."p" B."py" C."Py" D."y"
3.下列哪条赋值语句在Python中是非法的:( )
A.X=Y=Z=1 B.X=(Y=Z+1) C.X,Y=Y,X D.X+=Y
4.运行下列Python程序
i=1
s=1
while ①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入( )
A.i<=7 B.i<7 C.i>=7 D.i>7
5.在Python中,用变量code存储学生的借书卡编码,例如:code=“NO.2020100502”,则变量code的数据类型应定义为( )
A.布尔型 B.整型 C.字符串型 D.浮点型
6.在Python程序中,要求s=3+6+9+…+300的值,可以采用如下代码,下列选项中的说法不正确的是( )。
A.for循环语句中步长为3 B.语句s=0应改为s=1
C.语句s=s+i共循环执行了100次 D.程序使用了循环结构
7.有如下python程序段:
a="Doing is better than saying ."
print(r"\n"+a[ :15])
该程序运行后,输出的结果是( )
A.直接输出:' \nDoing is better '
B.直接输出:\nDoing is better th
C.直接输出:\nDoing is better
D.先换行,然后在新的一行中输出:Doing is better
8.以下不属于高级程序设计语言的是( )。
A.C++ B.VB C.机器语言 D.Python
9.下列选项中不能正确表达Python中的赋值语句的是( )
A.X,Y=5,8 B.X=Y=5 C.X =Y+X D.10=X+Y
10.下列选项中,不能作为python程序变量名的是( )
A.abc B.abc123 C.123abc D.abc__123
11.利用Python求100以内所有能被3整除的正整数,代码如下:
则下列程序第3行的横线应该填( )
A.i=i*3 B.i=i%3 C.i%3==0 D.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('','w')
file.write("python is a programming language.")
file.close( )
file=open('','r')
ad( ))
该代码段运行后,输出的结果为( )
A.IA Distributed System Based on Python.
B.python is a programming language.
C.IA Distributed System Based on Python. python is a programming language.
D.程序编译错误,不会输出结果
15.Python文件的后缀名是( )
A.pdf B.python和vb的代码可以通用吗do C.pass D.py
二、程序填空
16.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.
def convert(s):
m=0
le=len(s)
key=s[le-1]
if key=="B":
n=2
elif key=="D":
_______
else:
n=16
i=0
while i<=le-2:
c=s[le-1-i]
if c>="0"and c<="9":
a=ord(c)-ord("0")
elif c>="A"and c<="F":
a=ord(c)-ord("A")+10
_____________
i+=1
return m
s=input("请输入算式")
result=0;suanfu1="";suanfu2="";s1=""
for i in range(len(s)):
c=s[i]
if c=="+" or c=="-" or c=="=":
__________
suanfu1=suanfu2
suanfu2=c
if suanfu1=="":
result=t
if suanfu1=="+":
result=result+t
if suanfu1=="-":
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 #求得最大值除以最小值后的余数
while r!=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选项。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论