
一、选择题
1.已知字符串a="python",则a[1]的值为( )
A."p" ."py" ."Py" ."y"
2.关于python发布代码及安装使用代码,下列说法错误的是()
A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件
B.在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。导入时只能使用语句“import mymodule”,不可以用“from mymodule import *”
D.下载安装,使用“python setup.py install”命令安装到你的Python本地副本中
3.Python的关系运算符中,用来表示不等于的符号是( )
A.= = .!= .>= .<=
4.已知字符串a="python",则a[ 1 : 3 ]的值为( )
A."pyth" ."pyt" ."py" ."yt"
5.下列可以作为python变量名的是( )
A.'a1' .6key
C.False .i_f
6.运行下列Python程序
i=1
s=1
while ①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入( )
A.i<=7 .i<7 .i>=7 .i>7
7.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言( )。
A.Python .C++ .VB .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 .a+b/2*a .(a+b)/2*a .(a+b)/(2*a)
11.以下Python程序运行后,变量x和st的值分别是( )。
A.801 123678 .801 “123678” .801 801 .123678 “123678”
12.下列 Python 表达式的值为偶数的是( )
A.12*3%5 .len(“Welcome”)
C.int(3.9) .abs(-8)
13.下列选项中,不属于Python特点的是( )。
A.面向对象 .运行效率高 .可读性好 .开源
14.关于python程序设计语言,下列说法不正确的是( )。
A.python源文件以***.py为扩展名
B.python的默认交互提示符是:>>>
C.python只能在文件模式中编写代码
D.python具有丰富和强大的模块
15.在Python中要交换变量a和b中的值,应使用的语句组是( )。
A.a,b=b,a .a=c;a=b;b=c
C.a=b;b=a .c=a;b=a;b=c
二、程序填空
16.小明用Python语言写了一个货币兑换程序如下:
(1)参数currency指:____________。
(2)该程序用了哪一种算法结构:_____________。
(3)输出结果为“50$= 325.25人民币”。则代码应该如何编写:____________。
17.(项目情境)一元二次方程ax2+bx+c=0(a≠0),当b2-4ac≥0,方程有两个不同的实数根,当b2-4ac<0时,方程无实数根。
(问题求解)下面的python程序实现的功能是判断方程是否有实数根。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
import math
a=int(input("请输入a的值:"))
b=int(input("请输入b的值:"))
c=int(input("请输入c的值:"))
d=_____ #将表达式b2-4ac的值赋给变量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是变量还是常量?____程序中①处有空缺,请补充完整①处的代码。____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。
(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选项。
解析:D
【详解】
本题主要考查Python字符串。字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。
2.C
【详解】
本题主要考查Python代码发布。创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在
解析:C
【详解】
本题主要考查Python代码发布。创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件;已经构建发布的模块必须先导入程序,然后才能使用。导入时可以使用语句“import mymodule”,也可以用“from mymodule import *”;下载安装,使用“python setup.py install”命令安装到你的Python本地副本中,故本题选C选项。
3.B
【详解】
本题主要考查Python关系运算符。用来表示不等于的符号是“!=”,“= =”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题选B选项。
解析:B
【详解】
本题主要考查Python关系运算符。用来表示不等于的符号是“!=”,“= =”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题选B选项。
4.D
【详解】
本题主要考查Python字符串。a[ 1 : 3 ]取字符串索引第一 个到第三个字符(不包括第三个),故a[ 1 : 3 ]的值为"yt",故本题选D选项。
解析:D
【详解】
本题主要考查Python字符串。a[ 1 : 3 ]取字符串索引第一 个到第三个字符(不包括第三个),故a[ 1 : 3 ]的值为"yt",故本题选D选项。
5.D
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故i_f可以作为python变量名,故本题选D选项。
解析:D
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故i_f可以作为python变量名,故本题选D选项。
6.A
【详解】
本题考查循环语句。在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为while i<=7,故本题选A。
解析:A
【详解】
本题考查循环语句。在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为while i<=7,故本题选A。
7.A
【详解】
本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,
解析:A
【详解】
本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,C++ 和C属于编译性语言,vb是典型的编译+解释型语言,故本题选A选项。
8.C
【详解】
本题主要考查print函数。print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。
解析:C
【详解】
本题主要考查print函数。print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。
9.C
【详解】
本题主要考查Python程序运行。r 标识 \\ 后面的字符不转义,a[ :15]表示从a的右边往左第15位到最左边全部输出,故该程序运行后,输出的结果是直接输出:\\nDoing is
解析:C
【详解】
本题主要考查Python程序运行。r 标识 \\ 后面的字符不转义,a[ :15]表示从a的右边往左第15位到最左边全部输出,故该程序运行后,输出的结果是直接输出:\\nDoing is better,故本题选C选项。
10.D
【详解】
本题主要考查Python表达式。Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。
解析:D
【详解】
本题主要考查Python表达式。Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。
11.B
【详解】
本题主要考查Python语句执行。语句X=123+678是整型类型运算,值为801;语句St="123"+"678"是字符串运算,直接拼接,值为"123678",故本题选B选项。
解析:B
【详解】
本题主要考查Python语句执行。语句X=123+678是整型类型运算,值为801;语句St="123"+"678"是字符串运算,直接拼接,值为"123678",故本题选B选项。
12.D
【详解】
本题主要考查Python表达式。12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。
解析:D
【详解】
本题主要考查Python表达式。12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。
13.B
【详解】
本题考查Python特点的相关知识点
Python是一门面向对象、可读性好、开源的语言。因为是高级语言,不具备运行效率高的特点。故本题选B选项
解析:B
【详解】
本题考查Python特点的相关知识点
Python是一门面向对象、可读性好、开源的语言。因为是高级语言,不具备运行效率高的特点。故本题选B选项
14.C
【详解】
本题主要考查Python程序设计语言。python源文件以***.py为扩展名,python的默认交互提示符是:>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,p
解析:C
【详解】
本题主要考查Python程序设计语言。python源文件以***.py为扩展名,python的默认交互提示符是:>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块,故本题选C选项。
15.A
【详解】
本题主要考查Python赋值语句。选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
解析:A
【详解】
本题主要考查Python赋值语句。选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
二、程序填空
16.形参 分支结构(选择结构) 条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似
【详解】
本题主要考查Python程序执行与调试。①分析代码可知,参数currency指:形参。②由代码可知,该程序用了条件分支结构。③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似。
17.b*b-4*a*c或b**2-4*a*c d>=0 -b-math.sqrt(d))/(2*a) print("方程无实数根
【详解】
本题主要考查Python程序的调试。①此处将表达式b2-4ac的值赋给变量d,故填b*b-4*a*c或b**2-4*a*c。②当b2-4ac≥0,方程有两个不同的实数根,故此处if判断条件是d>=0。③当b2-4ac≥0时,方程的两个根分别为x1=(-b+math.sqrt(d))/(2*a),x2=(-b-math.sqrt(d))/(2*a),故此处填-b-math.sqrt(d))/(2*a)。④else部分,即x<0时,输出“方程无实数根”,故此处填print("方程无实数根")。
18.n=10 m=m+(n**(le-2-i))*a t=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。
19.全文 变量 k+1 枚举法 Word/WPS/PowerPoint等
【详解】
本题主要考查Python程序的执行与调试。①百度属于全文搜索引擎,也是关键词搜索。②变量可以反复赋值,故k是变量。③循环体执行完,k递增,继续找水仙花数,故此处填k+1。④逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。⑤在研究成果展示环节, 张轩小组可以使用Word/WPS/PowerPoint等软件制作《探秘水仙花数》的研究成果报告。
20.xingzuo[“小红”xingzuo[“小兰”]=“水瓶座” xingzuo[“小贝”]=“双子座” del xingzuo
【详解】
本题主要考查字典数据类型。①字典数据类型,可以通过检索字典的键值得到对应的值,即xingzuo[“小红”]=‘处女座’,故第一空填xingzuo[“小红”]。②将“小兰”同学的星座修改为“水瓶座”,可以通过语句xingzuo[“小兰”]=“水瓶座”。③同理添加小贝的信息为,xingzuo[“小贝”]=“双子座”。④删除该字典的表达式是del xingzuo。
21.n%i==0: i+=1 ss(i) and ss(n-i): 8=3+5
【详解】
本题主要考查Python程序的执行与调试。①函数ss(n)用来判断n是否为质数,若是则返回True,否则返回False,此处是通过while循环逐个判断n是不是能整除i,故填n%i==0:。②若不满足if条件,则i递增,继续循环判断,故填i+=1。③此处判断i与n-i是否都是质数,若是,则表明该偶数可以写成两个质数之和,并输出,故填ss(i) and ss(n-i):。④如果输入“8”则结果显示8=3+5。
