计算机二级Python真题及答案解析1精品
一、选择题
1.以下哪个不是python关键字()
A.cout B.from C.not D.or
2.关于下列Python程序段的说法正确的是()
k=1
while  1:
k+=1
A.存在语法错误,不能执行B.执行1次C.执行无限次
D.执行k次
3.下列Python程序段运行的结果是()。
i=0
sum=0
while i<10:
if i%2==0:
sum+=i
i+=2
print("sum=",sum)
A.sum=17 B.sum=18 C.sum=19 D.sum=20
4.下列与数学表达式对应的python表达式,正确的是()。
A.( - b + math. sqrt (b * b – 4 * a * c)) /a * a
B.- b + math. sqrt (b * b – 4 * a * c) /2*a
C.( -b + math. sqrt (b * 2 – 4 * a * c)) /(2 * a)
D.( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a)
5.小林同学想要利用Python来编写一道程序,解决“1+2+3+……+100”这个问题,那么小林同学在编写程序的过程中可能会用到哪些语句()
A.赋值语句
B.循环语句
C.条件语句
D.输出语句
6.Python中变量的命名遵循的规则,不正确的是()
A.必须以字母或下划线开头,后面可以是字母、数字或下划线。
B.区分大小写
C.不区分大小写
D.不能使用保留字
7.Python中,可以输出hello world的是()
A.printf(“hello world”)
B.output(“hello world”)
C.Print(“hello +world”)
D.print(“hello world”)
8.在python中运行print(“3+6”)的结果是()。
A.9B.“3+6”C.3+6D.“9”
9.下列不是Python中所有循环必须包含的是()。
A.冒号B.循环次数C.循环体D.缩进
10.关于python程序设计语言,下列说法不正确的是(    )。
A.python源文件以***.py为扩展名
B.python的默认交互提示符是:>>>
C.python只能在文件模式中编写代码
D.python具有丰富和强大的模块
11.Python程序文件的扩展名是()。
A..python B..pyt C..pt D..py
12.我们学习了使用Python程序设计语言解决问题,Python程序设计语言属于()。A.高级语言B.自然语言C.汇编语言D.机器语言
13.12 Python语言语句块的标记是(      )
A.分号B.逗号C.缩进D./
14.下列Python语句中,会导致程序运行出错的语句是()
A.x=(y=1) B.x,y=y,x C.x=1;y=1 D.x=y=1
15.在Python中,表达式2**3的结果是()
A.5 B.8 C.6 D.3
二、程序填空
16.(项目情境)一元二次方程ax2+bx+c=0(a≠0),当b2-4ac≥0,方程有两个不同的实数根,当b2-4ac<0时,方程无实数根。
(问题求解)下面的python程序实现的功能是判断方程是否有实数根。请阅读如下python 程序,在空白处填写适当的表达式或语句,使程序完整。
import math
a=int(input("请输入a的值:"))
python printf输出格式
b=int(input("请输入b的值:"))
c=int(input("请输入c的值:"))
d=_____  #将表达式b2-4ac的值赋给变量d
if ____
print("x1=",(-b+math.sqrt(d))/(2*a))  #输出方程的其中一个实数根
print("x2=",(_________)          #输出方程的另一个实数根
else:
_________    #输出“方程无实数根”
17.阅读程序。分析以下关于字符拼接与转换的Python程序并回答问题。
students=[ '小明','小红','小刚']
scores={ '小明':95,'小红':90,'小刚':90}
print(len(students))
print(len(scores))
(1)students的数据类型是______________。
(2)scores的数据类型是_____________。
(3)在scores中,每个字符与后面的数值共同构成了一个____________。
(4)len(students)的返回值是____________。
(5)print(len(scores))的输出结果是__________。
18.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用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=”则输出结果为___________。
19.阅读程序。观察使用随机数求解百钱白鸡问题的代码并回答问题。
百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
import random
while True:
x=random.randrange(0,20)
y=random.randrange(0,33)
z=random.randrange(0,100)
if 5*x+3*y+z/3==100 and x+y+z==100:
print('公鸡',x)
print('母鸡',y)
print('小鸡',z)
(1)Python中导入库文件的命令是________。
(2)random.randrange(0,20)生成的随机数的范围是_________。
(3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为________
(4)while True 的作用是______ 。
(5)如果while True造成程序无法停止,我们可以在程序中添加一行 _________。20.分析完善程序
某市出租车收费标准如下:
(1)3公里内(含3公里),收费8元
(2)超过3公里但未超过6公里部分,按1.5元/公里收费
(3)超过6公里部分,按2.25元/公里收费。
根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?[算法分析]
假设总费用为p,则可以分段计算
p=8    ‘(s≤3)
p=1.5*(s-3)+8  ‘(3<s≤6)
p=2.25*(s-6)+1.5*3+8  ‘(s>6)
[参考代码]
a=flo at(input(“s=”))
if s <= 3 :
p= 8
if
p=1.5*(s-3)+8
if s > 6 :
p=2.25*(s-6)+1.5*3+8
print( p)
根据上述回答如下问题:
(1)本题采用的算法是________(填:解析法/枚举法/排序法/递归法)。(2)程序代码中空白处应填写的条件是_______(填: A/B/C/D)。
A.3<s<=6      B.3<=s<=6    C.s>3 and s<6  D.s>3 Or s<=6
21.请在空格处填写正确的代码,使程序完善。
实现功能:绘制y=x2-2x+ 1的图像
#加载numpy模块并限简洁的别名为np
import numpy as np
#加载matplotlib.pyplot模块并限简洁的别名为plt
import matplotlib.pyplot as plt
#x在-7到9之间,每隔0.1取一个点
x=np.arange(-7,9,0.1)
_____ = x**2-2*x+1
plt.plot(x,________)