27.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是()
A.3B.4C.5D.6
28.以下对Python程序缩进格式描述错误的选项是()
A.不需要缩进的代码顶行写,前面不能留空白
B.缩进可以用tab键实现,也可以用多个空格实现
C.严格的缩进可以约束程序结构,可以多层缩进
D.缩进是用来格式美化Python程序的
29.关于python发布代码及安装使用代码,下列说法错误的是()
A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件
B.在DOS命令行中打开mymodule所在的目录,使用“pythonsetup.pysdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。
导入时只能使用语句“importmymodule”,不可以用“frommymoduleimport*”
D.下载安装,使用“pythonsetup.pyinstall”命令安装到你的Python本地副本中
30.运行下列Python程序,结果正确的是( )
a=18
b=7
c=a%b
b=a%b
print(a,b)
A.185B.518C.184D.418
二、程序填空
31.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
importmath
defisprime(x):
______
foriinrange(2,int(math.sqrt(x))+1):
ifx%i==0:
f=False
returnf
n=int(input("请输入一个正整数n:
"))
c=0
k=3
whilek<=n-2:
ifisprime(k)and______________:
c+=1
print("第"+str(c)+"对双胞胎数:
",k,'和',k+2)
_______
print("共有"+str(c)+"对双胞胎数")
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
32.密码强度检测。
编写python程序,实现如下功能:
输入要检测的密码,输出密码强度结果。
密码字符分为数字字符、字母和其他符号三类。
密码强度的检测方法为:
若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!
”。
若密码位数在8位及以上,则进行强度检测:
若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。
(1)若输入“12abcd5!
”,则输出结果为_________(选填,选字母:
A.密码位数不能少于8位,请重新输入!
/B.弱/C.中等/D.强)
(2)实现上述功能的程序如下,请在划线处填入合适的代码。
password=input(“请输入要检测的密码:
”)
①_______________
ifn<8:
print(“密码位数不能少于8位,请重新输入!
”)
else:
n1=0
n2=0
n3=0
foriinrange(0,n,1):
②_______
if“0”<=ch<=“9”:
n1=1
elif“a”<=ch<=“z”or“A”<=ch<=“Z”:
n2=1
else:
n3=1
③_____
ifx==3:
print(“强”)
elifx==2:
print(“中等”)
else:
print(“弱”)
33.已知6月份10位技术考试成绩:
1
2
3
4
5
6
7
8
9
10
78
88
89
90
83
76
75
98
100
65
技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:
a=[78,88,89,90,83,76,75,98,100,65]
______
sum=0
foriinrange(n):
ifa[i]>=80:
________
print(sum)
执行上述程序段后,输出的内容是______
34.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,否则原样输出。
35.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
36.哥德巴赫在1742年提出了以下猜想:
任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。
importmath
defss(n):
Flag=True
i=2
whilei<=int(math.sqrt(n))andFlag:
if_____________
Flag=False
_____________
returnFlag
n=int(input(“输入一个大于2的偶数”))
foriinrang(2,n//2+1):
if____________
print(str(n)+"="+str(i)+"+"+str(n-i))
如果输入“8”则结果显示_____
37.约瑟夫问题是个有名的问题:
N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。
例如N=6,被杀掉的顺序是:
1,4,3,0,5;最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:
”))
foriinrange(0,n-1):
llist.append([i,i+1])
___________
___________
long=n
k=head
i=1
p=2
while(____):
ifi==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
ift==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
38.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:
今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。
凡百钱,买鸡百只。
问鸡翁、母、雏各几何?
这个问题就是著名的“百钱买百鸡问题”。
即:
现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:
公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。
问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
forginrange(1,20):
formin_______:
forxinrange(3,98,3):
if_________and__________==100:
print("公鸡:
",g,"母鸡:
",m,"小鸡:
",x)
39.分析完善程序
某市出租车收费标准如下:
(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
p=2.25*(s-6)+1.5*3+8‘(s>6)
[参考代码]
a=float(input(“s=”))
ifs<=3:
p=8
if
p=1.5*(s-3)+8
ifs>6:
p=2.25*(s-6)+1.5*3+8
print(p)
根据上述回答如下问题:
(1)本题采用的算法是________(填:
解析法/枚举法/排序法/递归法)。
(2)程序代码中空白处应填写的条件是_______(填:
A/B/C/D)。
A.33ands<6D.s>3Ors<=6
40.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。
(提示:
①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。
)如:
请根据上述算法描述补全代码
s=input("车牌号s=")
n=6
x=s[n-1:
n]
whilex.isdigit()==False:
①
x=s[n-1:
n]
if②==0:
print(“双号”)
else:
print(“单号”)
(提示:
s[n:
m]的功能:
从字符串s的
下标为n的元素开始,截取到下标为m-1的元素。
例如:
s="12345",s[2:
4]="34"。
s.isdigit):
判断是否为数字。
)
(1)根据题意,程序中空白①处应填写:
______
(2)根据题意,程序中空白②处应填写:
______(填:
A/B/C/D)。
A.int(x)/2==0B.int(x)%2==0C.int(x)%2=0D.int(x)%2!
=0
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题主要考查Python程序的执行。
a=0,b=4,满足b>a,执行a=3*b=12,故程序运行后,a的值是12,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
a=0,b=4,满足b>a,执行a=3*b=12,故程序运行后,a的值是12,故本题选C选项。
2.A
【详解】
本题主要考查Python表达式的运算。
3%2=1,5//2=2,1*2=2,1+3/3=2,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式的运算。
3%2=1,5//2=2,1*2=2,1+3/3=2,故本题选A选项。
3.B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B选项。
解析:
B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B选项。
4.D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是.py。
故本题选D选项
解析:
D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是.py。
故本题选D选项
5.B
【详解】
本题主要考查Python程序设计语言。
python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设
解析:
B
【详解】
本题主要考查Python程序设计语言。
python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设计高级语言,故本题选B选项。
6.B
【详解】
本题主要考查Python语言。
Python语言是解释型语言,支持面向对象和跨平台使用,故本题选B选项。
解析:
B
【详解】
本题主要考查Python语言。
Python语言是解释型语言,支持面向对象和跨平台使用,故本题选B选项。
7.A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
8.B
【详解】
本题主要考查Python程序注释知识点。
Python程序中用作注释的标识符是“#”,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序注释知识点。
Python程序中用作注释的标识符是“#”,故本题选B选项。
9.A
【详解】
本题主要考查Python程序的执行。
x=3,不满足x>3,执行y=3*x+1=10,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
x=3,不满足x>3,执行y=3*x+1=10,故本题选A选项。
10.D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
11.D
【详解】
本题主要考查Python程序输出语句。
x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x=10,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序输出语句。
x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x=10,故本题选D选项。
12.C
【详解】
本题主要考查Python程序的执行。
x>0为真,所以一直做x=x+1语句,print()语句要在循环结束后再执行此行代码,所以无输出,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
x>0为真,所以一直做x=x+1语句,print()语句要在循环结束后再执行此行代码,所以无输出,故本题选C选项。
13.C
【详解】
本题考察赋值语句。
将6赋值给a,此时a为6;
将8赋值给c,此时c为8;
将c复制给b,此时b的值即为c的值,b为8;
将b赋值给a,此时a即为b的值,a为8。
故a为8,b为8,c
解析:
C
【详解】
本题考察赋值语句。
将6赋值给a,此时a为6;
将8赋值给c,此时c为8;
将c复制给b,此时b的值即为c的值,b为8;
将b赋值给a,此时a即为b的值,a为8。
故a为8,b为8,c为8,故C选项正确。
14.A
【详解】
本题考查的是Python循环语句。
range(10)是[0,10)的整数。
故m=0*1*2*3*4*5*6*7*8*9=0,选项A正确。
解析:
A
【详解】
本题考查的是Python循环语句。
range(10)是[0,10)的整数。
故m=0*1*2*3*4*5*6*7*8*9=0,选项A正确。
15.B
【详解】
本题主要考查Python程序运行。
a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序运行。
a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。
16.B
【详解】
本题主要考查Python程序的执行。
分析代码可知,k=16,17,18时,x=1;k=19,20时,x=0;k=13,14,15时,x=4;k取1~12时,x=5,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
分析代码可知,k=16,17,18时,x=1;k=19,20时,x=0;k=13,14,15时,x=4;k取1~12时,x=5,故本题选B选项。
17.C
【详解】
本题主要考查Python程序的执行。
a=3,b=4,a=a*b=3*4=12,故运行的结果是12,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
a=3,b=4,a=a*b=3*4=12,故运行的结果是12,故本题选C选项。
18.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
19.C
【详解】
本题主要考查Pyth