一、选择题
1.在Python IDLE编辑器中书写正确的表达式( )
A.b**2-4ac .1/2gt2 .pi*r^2 .2*pi*r
2.在Python中,表达式2**3的结果是( )
A.5 .8 .6 .3
3.下列Python语句中,会导致程序运行出错的语句是( )
A.x=(y=1) .x,y=y,x .x=1;y=1 .x=y=1
4.Python文件的后缀名是( )
A.pdf .do .pass .py
5.以下( )是python文件
A.*.mp3 .*.xls .*.ppt .*py
6.下列哪个语句在Python中是非法的?( )
A.x = y = z = 1 .x = (y = z + 1)
C.x, y = y, x .x += y
7.下图是python34安装后目录文件的磁盘文件存储结构,下列说法错误的是( )
A.图中文件存储结构为树结构,python34为树的根结点(父节点)
B.图中python34根结点有4个子结点
C.图中python34根结点下有5个子树(子结点)
D.图中Tools是python34的子树(子结点)
8.关于python程序设计语言,下列说法不正确的是( )
A.python是一种解释型、面向对象的计算机程序设计语言
B.python支持Windows操作系统,但不支持Linux系统
C.python源文件以***.py为扩展名
D.python文件不能直接在命令行中运行
9.下面Python代码运行后,a、b的值为( )
a=23
b=int(a/10)
a= a-b * 10
print(a,b)
A.23 2 .3 2 .3 20 .2 3
10.下列Python程序运行后的输出结果是( )。
s=0
for i in range(1,10):
s=s+i
print("s=",s)
A.s=35 .s=45 .s=55 .s=65
11.下列Python表达式中,能正确表示“变量x能够被4整除且不能被100整除”的是( )
A.(x%4==0) or (x%100!=0)
B.(x%4==0) and (x%100!=0)
C.(x/4==0) or (x/100!=0)
D.(x/4==0) and (x/100!=0)
12.以下哪种语言属于高级程序设计语言( )
①python ②c++ ③visual basic ④java
A.①②③ .②③ .②③④ .①②③④
13.下列选项中,可作为Python变量名的是( )
A.int .Abc .float .Complex
14.下列python表达式结果最小的是( )
A.2**3//3+8%2*3 .5**2%3+7%2**2 .1314//100%10 .int("1"+"5")//3
15.下列选项中,不能作为python程序变量名的是( )
A.abc .abc123 .123abc .abc__123
16.小新编制了一个python程序如下,但程序无法执行,你帮他找出程序中一共有几处错误( )
1a=3
b=input()
c=a+b
print("c")
A.1 .2 .3 .4
17.如图Python代码执行后,a,b的值分别为:( )
A.5,10 .10,5 .5,5 .10,10
18.王明编写了Python程序,根据输入的体重和身高计算BM值并显示是否超标。王明体重80kg,身高170cm。其中“体重80kg”“身高170cm”是对王明体重身高的符号记录属于( )
A.数据 .信息 .知识 .智慧
19.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。这段源代码属于( )。
A.程序 .软件 .指令 .命令
20.在python中,Int()函数的功能是返回不大于x的最大整数,设a=3,b=4,c=5 ,则下列表达式的运算结果中值最大的是( )
A.math.sqrt(b) .abs(a- b) .Int(2*a-c/b) .a**2+b**2-c**2
21.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言( )。
A.Python .C++ .VB .C
22.在 Python中常用的输入输出语句分别是( )
A.input() output() .input() print()
C.input() printf() .scandf() printf()
23.有如下 VB 程序段:
s1 = "python": s2 = "visual"
i = 1: j = 1: s = ""
Do While i <= Len(s1) And j <= Len(s2)
If Mid(s1, i, 1) >= Mid(s2, j, 1) Then
s = s + Mid(s1, i, 1)
Else
j = j + 1
End If
i = i + 1
Loop
执行该程序后,j的值是( )
A.2 .3 .5 . 7
24.关于Python的内存管理,下列说法错误的是( )
A.变量不必事先声明 .变量无需先创建和赋值就可直接使用
C.变量无须制定类型 .可以使用del释放资源
25.在Python中,表达式a**3+b**3+c**3==100*a+10*b+c属于( )
A.算术表达式 .关系表达式 .逻辑表达式 .日期表达式
26.在Python语言中,数据的输入是通过( )来实现的。
A.input( )函数 .print( )函数
C.output( )函数 .abs( )函数
27.运行下列Python程序
i=1
s=1
while ①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入( )
A.i<=7 .i<7 .i>=7 .i>7
28.python中表达式4**3=( )。
A.12 .1 . .7
29.python中,表达式5%2 = ( )。
A.2.5 .2 .1 .0
30.在数学中,我们一般使用“=“表示相等关系,那么“=”在Python语言中的写法为( )
A.= .== .:= .<>
二、程序填空
31.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。已知:从1到n的连续自然数相乘的积、叫做阶乘、用符号n!表示。如5!=1×2×3×4×5,规定0!=1。我们用递归算法可以较容易求n的阶乘。求n的阶乘算法可以描述如下:
n!=n*(n-1)! (n-1)!=(n-1)*(n-2)! (n-2)!=(n-2)*(n-3)!
2!=2*1! 1!=0! 0!=1
如果把n!写成函数形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的过程可以写成如下形式:
f(5)=5*f(4) f(4)=4*f(3) f(3)=3*f(2) f(2)=2*f(1) f(1)=1
(问题求解)在python中用递归算法求1!+2!+……+n!(n的值为整数,从键盘输入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
def f(n):
if n==0:
return 1
else:
return _________
s=0
n=int(input("请输入n:"))
for i in_______:
s=________
print(s)
32.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。请完善程序。程序如下:
import math
def IsPrime(i):
if i==1:
return False
for j in range(2,int(math.sqrt(i))+1):
if____:
return False
return True
a=int(input("请输入a:"))
b=int(input("请输入b:"))
summ=0
for i in range(a,b+1):
if IsPrime(i):
________
while t>0:
summ=summ+t%10
_________
print("数字和为:",summ)
33.为保护环境,很多城市开始对垃圾实行分类,便于更好的进行处理,为了让大家了解垃圾的分类情况,建立了以下四类列表,list1(可回收垃圾)、list2(有害垃圾)、list3(易腐垃圾),剩下的为其他垃圾,目前,列表中已经存储了以下数据。
list1=["玻璃瓶旧书金属纸板箱旧衣服易拉罐"]
list2=["胶片消毒水纽扣电池水银温度计过期药水泡沫塑料"]
list3=["动物内脏菜叶菜梗过期食品香蕉皮果壳"]
根据现有列表,完成以下问题:
(1)写出从列表list3中取出“过期食品”的表达式:
___________________________________________________________________________
(2)写出从list1中截取["旧书金属纸板箱"]这一段的表达式:
___________________________________________________________________________
(3)现又发现一个新的列表如下:list4=["过期化妆品过期药品杀虫剂"],经 过判断,里面存放的为有害垃圾,如何将该列表中的元素添加到list2中,请写出相关的表达式:
__________________________________________________________________________
(4)小明在路上捡到了一个塑料瓶,判断为可回收垃圾,写出相关表达式,将塑料瓶添加到列表list1中:
__________________________________________________________________________
34.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“ — ”和最后一个字符组成的新字符段,
3.例如:字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。
s=input("请输入字符串s:")
_______
flag = False
result=" "
for i in range( 0 , k-1):
if ___________________ :
result=result+s[i]+"-"
flag = True
elif ord(s[i]) ! = ord(s[i+1])-1:
result=result+s[i]
_____
result=result + s[i+1]
print("缩写后的字符串为:",result)
划线处①处应该填入的语句为: ;
划线处②处应该填入的语句为: ;
划线处③处应该填入的语句为: 。
35.程序设计:键盘输入任意的正整数,程序输出与其相应的二进制数。
代码如下:
n=int(input("请输入一个十进制数:"))
result=[]
while n>0:
result.append( ① )
n= ②
result.reverse()
for i in result:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。
A.n%2 B.n/2 C.n//2 D.n*2
(2)程序代码中②处可能的代码是(_______)。
A.n%2 B.n/2 C.n//2 D.n*2
36.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天)
day=input("请输入年月日(格式举例:2000-01-05):")
year=int(day[:4])
month=_________
sun=int(day[8:10])
print(year,month,sun)
f_run=[31,28,31,30,31,30,31,31,30,31,30,31]
tall_day=0
if ______:
for i in range(month-1):
tall_day +=f_run[i]
__________
else:
for i in range(month-1):
tall_day +=f_run[i]
tall_day += sun
print(day+"是当年的第"+str(tall_day)+"天")
(1)将程序横线处补充完整
(2)如输入“2020-4-19”为当年的第_____天。
37.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。凡百钱,买鸡百只。问鸡翁、母、雏各几何?这个问题就是著名的“百钱买百鸡问题”。即:现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
for g in range(1,20):
for m in _______:
for x in range(3,98,3):
if _________ and __________ ==100:
print("公鸡:",g,"母鸡:",m,"小鸡:",x)
38.分析完善程序
已知包含25项的数列: 1,2/3,3/5,....,24/47,25/49。
问题1 :写出该数列的通项公式f(n)= _①
问题2 :以下是计算S=1+ 2/3+3/5+ ... + 24/47+ 25/49的程序,请补全代码:
s=0
for i in range(1,26):
s=s+ ②
print(“s=”,s)
补充完成上述通项公式和程序:
①f(n)=_________
②___________
39.阅读程序。
for i in range(1,10):
for j in range(1,i+1):
print("%d X %d=%2d"%(j,i,j*i),end=" ")
print()
(1)在第一行程序中,变量i的数据范围为_____到____。
(2)在第二行的程序中,变量j的数据范围为_____到____。
(3)如果“%d”表示十进制数,那么%2d则表示____ 位宽的十进制数。
(4)第三行程序改为print("%d X %d=%2d"%(i,j,i*j),end=" "),则本题的输出应该是_____。
(5)如果最后一行的print()表示换行,那么end=””的功能是_______ 。
40.调试程序。请阅读以下程序并写出运行结果。
#ex16.py
i=0
sum=0
while i<10:
if i%3==0:
sum+=i
print(i)
i=i+1
print('sum',sum)
_________
【参】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python表达式知识点。书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*
解析:D
【详解】
本题主要考查Python表达式知识点。书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。
2.B
【详解】
本题主要考查Python基本运算符。“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
解析:B
【详解】
本题主要考查Python基本运算符。“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
3.A
【详解】
本题考查的是Python赋值语句。赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
解析:A
【详解】
本题考查的是Python赋值语句。赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
4.D
【详解】
本题主要考查Python文件知识点。Python文件的后缀名是py,故本题选D选项。
解析:D
【详解】
本题主要考查Python文件知识点。Python文件的后缀名是py,故本题选D选项。
5.D
【详解】
本题考查的是文件类型相关知识。Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
解析:D
【详解】
本题考查的是文件类型相关知识。Mp3是音频文件,xls是Excel文件,ppt演示文稿文件,py是python文件,故选项D正确。
6.B
【详解】
本题主要考查Python赋值语句。语句x = y = z = 1,赋值x、y、z值均为1;语句x, y = y, x交换x、y的值;x += y等价于x=x+y;语句x = (y =
解析:B
【详解】
本题主要考查Python赋值语句。语句x = y = z = 1,赋值x、y、z值均为1;语句x, y = y, x交换x、y的值;x += y等价于x=x+y;语句x = (y = z + 1)是非法的,故本题选B选项。
7.B
【详解】
本题主要考查计算机文件存储结构。由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子
解析:B
【详解】
本题主要考查计算机文件存储结构。由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子树(子结点);图中Tools是python34的子树(子结点),故本题选B选项。
8.B
【详解】
本题主要考查Python程序设计语言。python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.
解析:B
【详解】
本题主要考查Python程序设计语言。python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.py为扩展名;python文件不能直接在命令行中运行,故本题选B选项。
9.B
【详解】
本题主要考查Python程序的执行。a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2
解析:B
【详解】
本题主要考查Python程序的执行。a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2,故本题选B选项。
10.B
【详解】
本题主要考查Python程序的执行。s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。
解析:B
【详解】
本题主要考查Python程序的执行。s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。
11.B
【详解】
本题主要考查Python表达式的运算。逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!=0,故本题选B选项。
解析:B
【详解】
本题主要考查Python表达式的运算。逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!=0,故本题选B选项。
12.D
【详解】
本题考查计算机语言相关知识。高级语言是面向用户的、基本上于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令
解析:D
【详解】
本题考查计算机语言相关知识。高级语言是面向用户的、基本上于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条,几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。python,c++ ,visual basic,java都属于高级程序设计语言。故本题选D。
13.B
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故可作为Python变量名的是Abc,故本题选B选项。
解析:B
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故可作为Python变量名的是Abc,故本题选B选项。
14.A
【详解】
本题主要考查Python表达式的运算。2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=
解析:A
【详解】
本题主要考查Python表达式的运算。2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("1"+"5")//3=5,故本题选A选项。
15.C
【详解】
本题考查的是python的变量命名。python的变量名是由数字、字母、下划线组成,并且数字不能打头。故选项C符合题意。
解析:C
【详解】
本题考查的是python的变量命名。python的变量名是由数字、字母、下划线组成,并且数字不能打头。故选项C符合题意。
16.C
【详解】
本题考查Python程序语法
Python变量命名不能以数字开头、变量b、c必须先定义后使用。故有3处错误,故本题选C选项
解析:C
【详解】
本题考查Python程序语法
Python变量命名不能以数字开头、变量b、c必须先定义后使用。故有3处错误,故本题选C选项
17.B
【详解】
本题主要考查Python程序的执行。a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:10和5,故本题选B选项。
解析:B
【详解】
本题主要考查Python程序的执行。a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:10和5,故本题选B选项。
18.A
【详解】
本题考查的是数据的定义。数据是客观事物的符号记录,是信息的载体,是计算机加工的对象。“体重80kg”、“身高170cm”是对王明体重身高的符号记录属于数据。故本题应选A。
解析:A
【详解】
本题考查的是数据的定义。数据是客观事物的符号记录,是信息的载体,是计算机加工的对象。“体重80kg”、“身高170cm”是对王明体重身高的符号记录属于数据。故本题应选A。
19.A
【详解】
本题考查的知识点是程序概念。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。程序中包括指令和数据。
软件是指包括所有在电脑运行的程序。软件=程序+数据+文档。
解析:A
【详解】
本题考查的知识点是程序概念。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。程序中包括指令和数据。
软件是指包括所有在电脑运行的程序。软件=程序+数据+文档。
指令是指示计算机执行某种操作的命令。一个指令通常由两部分组成:操作码+地址码。
根据它们的定义,可以得出题目中的源代码属于程序。
故A选项正确。
20.C
【详解】
本题主要考查Python表达式的运算。设a=3,b=4,c=5,math.sqrt(b)=2,abs(a- b)=abs(-1)=1,Int(2*a-c/b)=Int(4.75)=4,
解析:C
【详解】
本题主要考查Python表达式的运算。设a=3,b=4,c=5,math.sqrt(b)=2,abs(a- b)=abs(-1)=1,Int(2*a-c/b)=Int(4.75)=4,a**2+b**2-c**2=9+16-25=0,故运算结果中值最大的是Int(2*a-c/b),故本题选C选项。
21.A
【详解】
本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,
解析:A
【详解】
本题主要考查程序设计语言。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。Python属于解释性语言,C++ 和C属于编译性语言,vb是典型的编译+解释型语言,故本题选A选项。
22.B
【详解】
本题考查的知识点是python的函数。Python中常用的输入输出语句分别是input() print(),故选项B正确。
解析:B
【详解】
本题考查的知识点是python的函数。Python中常用的输入输出语句分别是input() print(),故选项B正确。
23.C
【详解】
本题主要考查VB程序的执行。分析程序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2的每一个字符,若s1中的字符大于或等于s2中的字符,则将s1中对应的字
解析:C
【详解】
本题主要考查VB程序的执行。分析程序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2的每一个字符,若s1中的字符大于或等于s2中的字符,则将s1中对应的字符拼接到变量s中,否则变量j递增。第一遍循环,i=1,j=1,“p”<“v”,j=j+1=2,i=i+1=2;第二遍循环,“y”>“i”,i=i+1=3;第三遍循环,“t”>“i”,i=i+1=4;第四遍循环,“h”<“i”,j=j+1=3,i=i+1=5;第五遍循环,“o”<“s”,j=j+1=4,i=i+1=6;第六遍循环,“n”<“u”,j=j+1=5,i=i+1=7,循环结束,故执行该程序后,j的值是5,故本题选C选项。
24.B
【详解】
本题主要考查Python的变量。变量需要先创建和初始化,才可以使用,故本题选B选项。
解析:B
【详解】
本题主要考查Python的变量。变量需要先创建和初始化,才可以使用,故本题选B选项。
25.B
【详解】
本题主要考查Python表达式的运算。“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。
解析:B
【详解】
本题主要考查Python表达式的运算。“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。
26.A
【详解】
本题考查的是Python函数。input( )是输入函数,print( )是输出函数,abs( )是绝对值函数。故选项A正确。
解析:A
【详解】
本题考查的是Python函数。input( )是输入函数,print( )是输出函数,abs( )是绝对值函数。故选项A正确。
27.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。
28.C
【详解】
本题考查的是python中表达式相关知识。在 Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=,故选项C正确。
解析:C
【详解】
本题考查的是python中表达式相关知识。在 Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=,故选项C正确。
29.C
【详解】
本题考查的是python中的运算符相关知识。在python中%表示取模,返回除法的余数,故5%2 =1,选项C正确。
解析:C
【详解】
本题考查的是python中的运算符相关知识。在python中%表示取模,返回除法的余数,故5%2 =1,选项C正确。
30.B
【详解】
本题主要考查Python运算符。在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。因此B选项正确。
解析:B
【详解】
本题主要考查Python运算符。在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。因此B选项正确。
二、程序填空
31.n*f(n-1) range(1,n+1) s+f(i)
【详解】
本题主要考查Python程序的执行与调试。①此处是定义递归函数f(n),由题干,当n=0时,返回1,否则返回n*f(n-1),故此处填n*f(n-1)。②用递归算法求1!+2!+……+n!,故变量i的范围应是1—n,for i in range(1,n+1)表示i的范围是[1,n],故此处填range(1,n+1)。③循环体实现累加,将每一项阶乘f(i)加到s中,故此处填s+f(i)。
32.i%j==0 t=i t=t//10
【详解】
本题主要考查Python程序执行与调试。①此处是处理从2开始到i开方加1,若能整除i则表明i不是素数,否则直到循环结束,表明i是素数,故此处填i%j==0。②若i是素数,则将变量i赋给变量t,并通过while循环将t的每一位取出来并加到summ中,故此处填t=i。③同理此处取出个位数后,更新t的值继续循环,故此处填t=t//10。
33.list3[2] list1[1:4] list2=list2+list4 或 list2.extend(list4) list1=list1+[“塑料瓶”] 或者 list1.append(“塑料瓶”)
【详解】
本题主要考查Python列表数据类型。①“过期食品”在列表list3索引2,故从列表list3中取出“过期食品”的表达式:list3[2]。②"旧书金属纸板箱"在列表list1索引1~3,从list1中截取["旧书金属纸板箱"]这一段的表达式:list1[1:4](不包括4)。③将该列表中的元素添加到list2中,表达式是list2=list2+list4 或 list2.extend(list4)。(extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表))。④将塑料瓶添加到列表list1中:list1=list1+[“塑料瓶”] 或者 list1.append(“塑料瓶”)(append字符追加函数)。
34.k=len(s) ord(s[i])==ord(s[i+1])-1 and flag==False 或 ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag flag = False
【详解】
本题主要考查Python程序的执行与调试。①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1 and flag==False 或 ord(s[i])==ord(s[i+1])-1 and not flag 或 ord(s[i])+1==ord(s[i+1]) and flag==False 或 ord(s[i])+1==ord(s[i+1]) and not flag。③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag = False。
35.A C
【详解】
本题主要考查Python程序设计。①此处将n取余2,用append函数将值追加到列表result中,故此处填n%2,选A选项。②当n大于0时,n整除2继续循环,循环结束使用reverse函数,将result列表中的元素逆转,故此处填n//2,选C选项。
36.int(day[5:7]) (year%4==0 and year%100!=0 or year%400==0) and month>=2 tall_day+=1 110
【详解】
本题主要考查Python程序的执行与调试。①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:end],start会包含在结果中而end却不会,故此处填int(day[5:7])。②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0 and year%100!=0 or year%400==0) and month>=2。③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。④输入“2020-4-19”为当年的第110天。
37.range(1,33) g+m+x==100 5*g+3*m+x/3
【详解】
本题考查的是算法中的经典问题。百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。
38.n/(2*n-1)或n/(n*2-1) i/(2*i-1) 或 i/(i*2-1)
【详解】
本题主要考查Python程序的执行与调试。①分析数列可知,分子第n项是n,分母第n项是2*n-1,故该数列的通项公式f(n)=n/(2*n-1)或n/(n*2-1)。②此处是对前n项进行求和,变量是i,使用语句s=s+i/(2*i-1) 或s=s+ i/(i*2-1),故此处填i/(2*i-1) 或 i/(i*2-1)。
39.9 1 i 2 末尾不换行,添加空格
【详解】
本题主要考查Python程序的执行与调试。(1)在第一行程序中(for i in range(1,10):),变量i的数据范围为1到9。(2)同理,在第二行的程序中(for j in range(1,i+1):),变量j的数据范围为1到i。(3)如果“%d”表示十进制数,那么%nd则表示n位宽的十进制数,%2d则表示2位宽的十进制数。(4)第三行程序改为print("%d X %d=%2d"%(i,j,i*j),end=" "),则本题的输出应该是 ,i与j的位置进行了交换,如1X2=2变为2X1=2。(5)如果最后一行的print()表示换行,那么end=””的功能是末尾不换行,添加空格。
40.0
【详解】
本题主要考查Python中While循环结构。Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。题中循环体内含If选择结构,即当i%3为0时,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。
【点睛】