内容正文:
2.4 可以复用的代码
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.以下关于元组的描述,错误的描述是( )
A.元组的元素可以是整数、字符串、列表等Python支持的任何类型
B.与列表一样,元组也有append()、insert()函数
C.元组是不可变序列
D.元组的访问和处理速度比列表快
2.下列Python表达式,判断ch是大写字母的是( )
A.ch >='A'and ch <='Z' B.ch >='A'or ch <='Z'
C.'A'<= ch <='Z' D. 'A'< ch <'Z'
3.下列python表达式的值是偶数的是( )
A.len(str(123))
B.round(7.34)
C.(-5)**2+8//3*2
D.abs(ord("H")-ord("J"))
4.Python中,使用open()方法打开一个文件后,可以读取该文件中的内容,读取文件内容的方式有多种,其中每次只能读取一行的是( )
A.readlines() B.read() C.readall() D.readline()
5.下列表达式的值为False的是( )
A.not(8*1.2<8/1.2) B.9//2==5 C.8**2!=10 D.6%2<0.1
6.在Python中。运行以下代码后,变量i的值是( )
i=66
while i <=80:
print (i)
i=i+2
A.78 B.80 C.81 D.82
7.有如下Python程序段:
x,y,z=input("请输入三个整数:").split(",")
x=int(x);y=int(y);z=int(z)
maxt=x
if y>maxt:maxt=y
if z>maxt:maxt=z
print(maxt)
运行该程序,输入数据“2,13,9”,程序的输出结果是( )
A.13 B.9 C.2 D.31
8.在 Python 中,执行如下语句段后,输出的结果是( )
a,b,c=0,1,2
if b>c:
a=c-b
print (a)
A.1 B.2 C.0 D.3
9.关于Python循环结构,以下选项中描述不正确的是( )
A.Python通过for、while等保留字提供遍历循环和无限循环结构
B.break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行
C.每个continue语句只有能力跳出当前层次的循环
D.遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等
10.有如下Python程序:
import random
s='IloveChina'
res=''
i=0
while i<=5:
k=random. randint(0,5)*2-1
res+=s[k]
i+=1
print(res)
执行该程序后,输出的结果不可能是( )
A.lavCCv B.11Cvv C.IloveC D.iiiii
11.有如下 Python 程序段:
a = [-1] * 5
b = [-1] * 5
top1 = top2 = -1
i = 0
while i < 5:
ch = input("请输入操作:")
if ch == "T":
top1 += 1
a[top1] = i
else:
if top2 == -1:
while top1 != -1:
top2 += 1
b[top2] = a[top1]
a[top1] = -1
top1 -= 1
b[top2] = -1
top2 -=1
i += 1
若输入的操作依次为 TTQTQ,则a和b的值分别为( )
A.[3,-1,-1,-1,-1][-1,-1,-1,-1,-1] B.[3,-1,-1,-1,-1][0,1,-1,-1,-1]
C.[0,-1,-1,-1,-1][-1,-1,-1,-1,-1] D.[0,-1,-1,-1,-1][3,1,-1,-1,-1]
12.某DataFrame对象df2包含“准考证号”、“班级”、“姓名”、“语文”、“数学”、“英语”等数据列,下列语句中,能实现输出以班级为单位的各班“语文”列平均值的是( )
A.print(df2.groupby("班级",as_index=False).mean( ))
B.print(df2.groupby("语文",as_index=False).mean( ))
C.print(df2.groupby("班级",as_index=False).排名.mean( ))
D.print(df2.sort_index("语文",as_index=False).describe( ))
13.下列属于浮点型数据的是( )
A.False B.-6 C."2.0" D.3.0
14.函数range(1,5)生成的数据序列是( )
A.0,1,2,3,4,5 B.1,2,3,4,5
C.1,2,3,4 D.0,1,2,3,4
15.在Python中,整型变量a中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如:15变成51。下列表达式正确的是( )
A.(a%10)*10+a//10 B.(a%10)//10+a//10 C.(a/10)%10+a//10 D.(a%10)*10+a%10
16.下列选项中,正确的赋值语句是( )
A.4=M B.-M=M C.B=A-3 D.X+Y=0
17.在Python中,下列能正确表示”a≤5而且a≥3”的逻辑是( )
A.a<=3 or a>=3 B.a<=5 and a>=3 C.a<=5 or a >=3 D.3<=a<=5
18.在python中,表示“x属于区间(0,1]”的正确表达式是( )
A.x>0 orx<1 B.0<x<=1 C.x>0 orx<=1 D.x>0 and x<1
19.有如下Python程序段:
word=input("ail请输入一个小写字母组成的单词:")
k=ord(word[0])-ord('a')
newWord=chr(ord('A')+k)+word[1:len(word)]
print(newWord)
执行上面Python程序段,若输入的单词是“hello”,则输出结果为( )
A.hello B.Hello C.7hello D.hello
20.下列代码是使用Flask Web框架编写网络应用程序,其中有错误的是( )
①from flask import Flask
②app=Flask(_ name _)
③route('/')
def index(): #代码略
④app. run()
A.① B.② C.③ D.④
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查Python基础。
与列表一样,元组也有append()、insert()函数:这是错误的。元组是不可变的,这意味着一旦创建,就不能更改其内容(即不能添加、删除或更改其中的元素)。因此,元组没有提供如append()、insert()等用于修改序列内容的函数。故正确答案为:选项B。
2.AC
【详解】本题考查Python表达式。判断ch是大写字母的表达式是:ch >='A'and ch <='Z' 或者 'A'<= ch <='Z'。故选AC。
3.D
【详解】本题考查Python函数相关内容。str()函数可以将各种类型的数据转换为字符串,并结合格式化字符串的功能,以适应不同的需求。len()函数用于返回一个对象的长度,即对象中元素的个数。round()函数用来返回一个浮点数的四舍五入值,该函数可以设置返回的浮点数的小数点位数。ord()函数用于从给定字符值中获取数字值,它接受一个字符并返回一个整数,即用于将字符转换为整数,即用于获取ASCII给定字符的值 。abs()函数用于返回数字的绝对值。A选项,len(str(123))-->len("123")-->3,表达式的值为奇数。B选项,round(7.34)-->7,表达式的值为奇数。C选项,(-5)**2+8//3*2-->25+4-->29,表达式的值为奇数。D选项,abs(ord("H")-ord("J"))-->abs(-2)-->2,表达式的值为偶数。故本题答案是D选项。
4.D
【详解】本题考查Python基础。
readline()方法每次从文件中读取一行,直到文件末尾。如果文件很大,这种方式比一次性读取整个文件到内存(使用 read() 方法)更有效率,因为它可以减少内存的使用。故正确答案为:选项D。
5.B
【详解】本题考查Python表达式。8*1.2<8/1.2的值为False,故not(8*1.2<8/1.2)的值为True;9//2的值为4,故表达式的值为False;8**2=64,64≠10,故值为True;6%2=0,0<0.1,故值为True。故答案为:B。
6.D
【详解】本题考查程序设计基础。根据代码i=66 while i<=80 i=i+2,可知i为小于等于80的偶数,当i等于80,进入循环,i值为82时,退出循环。故选择D。
7.A
【详解】本题考查Python基础。
该程序功能是从输入的数字中,找到最大的一个数输出。故正确答案为:选项A。
8.C
【详解】本题考查Python分支结构的应用。a=0,b=1,c=2,不满足if判断条件,因此输出a的值是0。故选C。
9.C
【详解】本题考查Python循环结构相关内容。ABD选项说法正确。C选项,Python中continue的作用是跳过当前循环的剩余语句,并继续进行下一轮循环。具体来说,当程序运行到continue语句时,会停止当次(当前)循环,并忽略continue语句后面的所有语句,然后回到循环的顶端,开始下一次循环。如果是条件性的while循环,会先验证条件表达式;如果是迭代的for循环,会检查是否还有元素可以进行迭代。只有满足条件,才会开始下一次程序的执行,当下一次循环前的先决条件不能被满足时,整体循环会结束。C选项说法错误。故本题答案是C选项。
10.C
【详解】本题考查程序分析。该程序功能切片字符串s,切片索引为k,k的值可能为:-1、1、3、5、7、9。s[k]的可能结果为:a、l、v、C、i。故不可能出现选项C。故正确答案为选项C。
11.A
【详解】本题考查Python程序。该程序段模拟了两个栈的操作,根据输入字符进行相应的操作,将元素从一个栈转移到另一个栈,并根据输入字符的顺序进行操作。程序大致思路:初始化两个栈a和b以及栈顶指针top1和top2。根据输入字符ch判断操作:如果ch为"T",将当前索引i压入栈a。如果ch为其他字符,先将栈a中的所有元素转移到栈b,然后弹出栈b的栈顶元素。更新索引i,重复操作直到索引达到5。输入的操作依次为TTQTQ,根据上述过程,可知最后的a的值为[3,-1,-1,-1,-1];b的值为[-1,-1,-1,-1,-1]。故答案为:A。
12.B
【详解】本题考查Python基础。
题目要求以班级为单位,因此首先要使用groupby函数按班级进行分组,然后使用mean()函数求平均值,因此答案为B。
13.D
【详解】本题考查Python数据类型相关内容。A选项,False为布尔型。B选项,-6为整型。C选项,"2.0"为字符串型。D选项,3.0为浮点型。故本题答案是D选项。
14.C
【详解】本题考查Python程序设计相关内容。Python中的range(start, stop, step)函数用于创建一个整数序列,包括从start开始、小于stop的整数,以step为步长递增。range(1,5)是随机产生1、2、3、4。故本题答案是C选项。
15.A
【详解】本题考查Python表达式。
选项B,(a%10)//10+a//10。a%10得到个位数字,但(a%10)//10总是等于0(因为个位数字除以10的整数部分总是0),所以这个表达式不会得到正确的结果。
选项C,(a/10)%10+a//10。a/10是浮点除法,得到的是一个浮点数,(a/10)%10 的结果并不是我们想要的十位数字,所以这个表达式也是错误的。
选项D,(a%10)*10+a%10。这个表达式中,(a%10)*10正确地得到了原个位数字乘以10的结果,但+a%10又加上了原个位数字,因此这个表达式也是错误的。
故正确答案为:选项A。
16.C
【详解】本题考查的是赋值语句。赋值语句格式:变量名=表达式。变量名由字母、数字或下划线等字符组成,不能以数字开头,程序的保留字不能作为变量名。4、-M、X+Y不是合法的变量名,故本题应选C。
17.B
【详解】本题考查Python运算符与表达式相关内容。and运算符用于连接两个或多个条件表达式,当且仅当所有条件表达式都为True时,整个逻辑表达式的结果才为True。 or运算符作用是判断两个条件中的至少一个是否为真,如果至少一个条件为真,则整个表达式返回True;否则,返回False。能正确表示”a≤5而且a≥3”的逻辑是:a<=5 and a>=3,故本题答案是B选项。
18.B
【详解】本题考查Python基础。
闭区间取到1,故排除选项A,D。属于区间(0,1]为并且的关系,故排除选项C。故正确答案为:选项B。
19.B
【详解】本题考查Python基础。
该程序功能通过ASCII码取首字母到偏移,然后转换成大写,最后将拼接字符串输出。故正确答案为:选项B。
20.C
【详解】本题考查Python程序。在Flask中,定义路由应使用@app.route('/')装饰器,而选项C中的route('/')写法是错误的。故答案为:C。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$