全国计算机等级考试二级Python真题及解析2图文word
一、选择题
1.已知字符串a="python",则a[1]的值为( 
A."p"    B."py"    C."Py"    D."y"
2.关于python发布代码及安装使用代码,下列说法错误的是()
A.创建一个文件夹mymodule,其中包含mymodule.pysetup.py(包含发布的元数据)两个文件
B.DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。导入时只能使用语句“import mymodule”,不可以用“from mymodule import *
D.下载安装,使用“python setup.py install”命令安装到你的Python本地副本中
3.Python的关系运算符中,用来表示不等于的符号是(   
A.= =    B.=    C.>=    D.<=
4.已知字符串a="python",则a[ 1 : 3 ]python货币转换的值为( 
A."pyth"    B."pyt"    C."py"    D."yt"
5.下列可以作为python变量名的是(    )
A.'a1'    B.6key
C.False    D.i_f
6.运行下列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
7.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言(  )。
A.Python    B.C++    C.VB    D.C
8.下列有关于print命令的描述中,正确的是( 
A.在打印机里打印相关的文本或者数字等
B.可以用来画图
C.在屏幕中输出相应的文本或者数字等
D.执行语句print(“python”,3.7)时会出错
9.有如下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
10.把数式 写成Python语言的表达式,下列书写正确的是( )。
A.a+b/2a    B.a+b/2*a    C.(a+b)/2*a    D.(a+b)/(2*a)
11.以下Python程序运行后,变量xst的值分别是(    )。
A.801  123678    B.801  123678    C.801  801    D.123678  123678
12.下列 Python 表达式的值为偶数的是( 
A.12*3%5    B.len(“Welcome”)
C.int3.9    D.abs(-8
13.下列选项中,不属于Python特点的是(  )。
A.面向对象    B.运行效率高    C.可读性好    D.开源
14.关于python程序设计语言,下列说法不正确的是(    )
A.python源文件以***.py为扩展名
B.python的默认交互提示符是:>>>
C.python只能在文件模式中编写代码
D.python具有丰富和强大的模块
15.Python中要交换变量ab中的值,应使用的语句组是(    )。
A.a,b=b,a    B.a=ca=bb=c
C.a=bb=a    D.c=ab=ab=c
二、程序填空
16.小明用Python语言写了一个货币兑换程序如下:
1)参数currency指:____________
2)该程序用了哪一种算法结构:_____________
3)输出结果为“50= 325.25人民币。则代码应该如何编写:____________
17.(项目情境)一元二次方程ax2+bx+c=0a0),当b24ac0,方程有两个不同的实数根,当b24ac0时,方程无实数根。
(问题求解)下面的python程序实现的功能是判断方程是否有实数根。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
import math
a=int(input("请输入a的值:"))
b=int(input("请输入b的值:"))
c=int(input("请输入c的值:"))
d=_____  #将表达式b24ac的值赋给变量d
if ____
    print("x1=",(-b+math.sqrt(d))/(2*a))  #输出方程的其中一个实数根
    print("x2=",(_________)          #输出方程的另一个实数根
else:
    _________    #输出“方程无实数根”
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.学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为《探秘水仙花数》。
1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153 = 13+53+33,那么这个数就是一个“水仙花数”。百度属于____搜索引擎(全文,分类)
2)为了求解100--999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:
k是可以重新赋值的,k是变量还是常量?____程序中①处有空缺,请补充完整①处的代码。
____程序中逐一验证了100999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。
3)在研究成果展示环节, 张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告? (_____)
20.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo = { ‘小明’:‘巨蟹座’,‘小红’:‘处女座’,‘小兰’:‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
_________________________________________________________
(4)写出删除该字典的表达式:
___________________________________________________________
21.哥德巴赫在1742年提出了以下猜想:任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。
import math
def ss(n):
Flag=True
i=2
while i <= int(math.sqrt(n))and Flag:
            if _____________
              Flag = False
            _____________
    return Flag
n=int(input(“输入一个大于2的偶数”))
for i in rang(2,n//2+1):
if____________
print(str(n)+"="+str(i)+"+"+str(n-i))
如果输入“8”则结果显示_____
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python字符串。字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。