内容正文:
3.2 Python语言程序设计同步作业2024—2025学年高中信息技术 浙教版(2019)必修1
一、选择题
1.Python语句中,关于语句c+=a,n+=1下面说法正确的是( )
A.c+=a等效于c=c+a,n+=1等效于n=n+1
B.c+=a等效于c=+a,n+=1等效于n=+1
C.c+=a等效于c=a+,n+=1等效于n=1+
D.c+=a等效于c=2*c+a,n+=1等效于n=1+1
2.有如下Python程序段:
a=[5,4,2,6,3];n=len(a)
for i in range(n-2):
for j in range(i + 1,n):
if a[i]<a[j]:
a[i],a[j]=a[j],a[i]
执行该程序段后,a的值是( )
A.[6,5,4,3,2] B.[2,3,4,5,6] C.[2,3,4,6,5] D.[6,5,4,2,3]
3.有如下Python程序段:
s="Python"
ans=""
for i in range(len(s)):
c=s[i]
if "a"<=c<="z":
if i%2==0:
c=chr((ord(c)–ord("a")–i)%26+ord("a"))
else:
c=c.upper( ) #x.upper( )将字符串x中的大写字母转换成小写字母
ans+=c
print(ans)
执行该程序段后,输出的内容是( )
A.PYwHtN B.YrHkN C.PaTIOt D.PYrHkN
4.有如下Python程序段:
import random
q=[0]*8; head, tail=0, 4
for i in range (4):
k=random. randint (0, 10)
if k%2==0:
q[tail]=k%5
tail+=1
else:
head+=1
while head<tail:
print (q[head], end="")
head+=1
程序运行后,输出结果可能为( )
A.00002306 B.01234 C.0000 D.24
5.下列程序运行之后,显示的结果为( )
a=abs(-123)
b=456
a,b=b,a
t=a-b
print(t)
A.333 B.-333 C.579 D.-579
6.以下变量名命名有误的是( )
A.2021exam B.exam2021 C.exam_2021 D._exam2021
7.如图所示代码,当输入23时,输出结果为:( )
s= int( input("请输入:") )
if s<5:
print("小了")
elif s<15:
print("还是有点小了")
elif s<25:
print("差不多")
else:
print("很好")
A.小了 B.很好 C.差不多 D.还是有点小了
8.定义变量tries 为整数,以下哪个命令的作用是把整数tries转变成字符( )
A.float(tries) B.str(tries) C.int(tries) D.以上都不对
9.下列Python程序段运行的结果是( )。
i=0
sum=0
while i<10:
if i%2==0:
sum+=i
i+=2
print("sum=",sum)
A.sum=17 B.sum=18 C.sum=19 D.sum=20
10.在Python程序设计语言中,表达式3+5*2-2**3%5的结果为( )
A.10 B.5 C.3 D.0
11.下列可以作为python变量名的是( )
A.5x B.x-1 C.if D.x_1
12.有如下Python程序段:
matrix=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]]
k=int(input())
tot=0
for i in range(4):
for j in range(4):
if i+j=k:
tot+=matrix[i][j]
print(tot)
若输入2,则输出为( )
A.12 B.10 C.8 D.6
13.已知x="1113,奋斗ing",y=[1113,"奋斗ing"],z={1113:"奋斗ing"},则下列表达式的值为True的是( )
A.y[0] in x B.x[5::-1]==y[1] C.z[0]==y[0] D.z[1113]==x[5:]
14.下列变量中,符合 Python变量命名规则的是( )
A.for B.5a C._ Str D.year#
15.下列语句执行输出结果正确的是( )
n=0
x=1
while x<20:
x=x*3
n=n+1
print(x,n)
A.27 3 B.3 27 C.20 3 D.3 21
16.在升序链表 a 中插入一个不重复数据data,仍保持链表的升序状态。使用 Python 程序实现插入操作,代码如下:
a=[[20,4],[6,3],[35,5],[18,0],[27,2],[59,-1]]
p=head=1
data=int(input())
if data<=a[head][0]:
a.append([data,head])
head=len(a)-1
else:
q=a[p][1]
while _____①______ and data>a[q][0]:
p=q
q=a[p][1]
________②__________
a.append([data,q])
则划线处的代码为( )
A.①p!=-1 ②a[p][1]=len(a)-1 B.①q!=-1 ②a[p][1]=len(a)
C.①q!=-1 ②a[q][1]=len(a)-1 D.①p!=-1 ②a[q][1]=len(a)
17.如下程序段
a = 2
b = 1
while a >= b: b=a * b
a=2 * a
执行后,a、b的值分别为( )
A.4、2 B.16、64 C.8、8 D.2、1
18.下列python表达式中, 值为字符串类型的是( )
①Abs(x) ②“abc”*3 ③“123+45” ④ 123+45 ⑤a=input(“请输入a的值:”)
A.①③⑤ B.②④⑤ C.①②③ D.②③⑤
19.以下Python表达式运算结果为True的是( )
A.30//4<5 B.1.5+2.5==4.0 C.[2]in[1,2,3] D.3>5<=7
20.已知x="苹果,50",y=["苹果",50],z={"苹果":50},下列python表达式的值为True,正确的是( )
A.x[-4::-1]==y[0] B.x[3:5]==y[1] C.y[1] in z D.z[y[0]]==50
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题考查Python表达式语句相关内容。c+=a<=>c=c+a;n+=1<=>n=n+1。故本题答案是A选项。
2.D
【详解】本题考查程序分析。本程序功能是对列表a的前三个数降序排序,每次比较当a[i]<a[j],进行交换。外层循环遍历三次运行结果如下:
第一次:[6, 4, 2, 5, 3]
第二次:[6, 5, 2, 4, 3]
第三次:[6, 5, 4, 2, 3]
故正确答案为:选项D。
3.D
【详解】本题主要考查Python程序的执行。分析程序可知,变量c依次取s中的字符,如果c是小写字母,则判断i的奇偶性,如果i是偶数,则执行c=chr((ord(c)–ord("a")–i)%26+ord("a")),即将该小写字母循环向前移i位,即“t”变为“r”,“o”变为“k”,如果i是奇数,则将小写字母变为大写字母。若c是其他字符,则保持不变,故执行该程序段后,输出的内容是PyrHkN,故本题选D选项。
4.C
【详解】本题考查Python程序的执行与调试。k=random. randint (0, 10),k随机生成0~10, 由q[tail]=k%5可知,q列表中不可能出现6,排除A选项;for循环一共循环4次,若q中有1、2、3、4,说明没有执行head+=1,则B应是00001234,排除B选项;如果k是连续生成0或10两个再生成两个奇数,选项C可能;选项D有偶数2、4,则说明head+=1至多执行2次,因此输出结果一定有0,排除D选项。故选C。
5.A
【详解】本题主要考查Python程序的执行。a=123,b=456,交换a、b的值,a=456,b=123,t=a-b=456-123=333,故本题选A选项。
6.A
【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。变量名命名有误的是2021exam,故本题选A选项。
7.C
【详解】本题主要考查Python多分支结构的应用。s=23,满足第三个分支判断条件s<25,输出结果为:差不多,故本题选C选项。
8.B
【详解】本题考查Python基础。str函数功能可以将整数转换成字符。故选择B。
9.D
【详解】本题主要考查Python程序的执行。i=0,sum=0,循环条件是i<10,变量i每次递增2,若i是偶数,执行sum=sum+i,故程序执行完sum=sum+i=0+0+2+4+6+8=20,故本题选D选项。
10.A
【详解】本题主要考查Python表达式的运算。表达式3+5*2-2**3%5=3+10-8%5=13-3=10,故本题选A选项。
11.D
【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故x_1可以作为Python变量名,故本题选D选项。
12.D
【详解】本题考查Python程序。程序的功能是计算二维列表matrix中满足条件i+j=k的元素之和,其中k是用户输入的整数。解析如下:给定二维列表matrix,每个子列表都包含相同的四个整数。用户输入一个整数k。初始化变量tot为0,用于累加满足条件的元素之和。使用嵌套循环遍历matrix的每个元素:外层循环i控制行索引。内层循环j控制列索引。判断条件i+j==k,如果成立,则将matrix[i][j]的值加到tot中。最后输出变量tot的值,即满足条件i+j=k的元素之和。若输入2,根据题目的计算,满足条件的元素有(0,2),(1,1),(2,0),它们分别对应的值是1,2,3,因此最终的输出是1+2+3=6。故答案为:D。
13.D
【详解】本题考查Python表达式。已知x="1113,奋斗ing",y=[1113,"奋斗ing"],z=(1113:"奋斗ing"),y[0]=1113是整型,因此选项A会报错;x[5::-1] ='奋,3111',y[1]="奋斗ing",因此选项B为False;z是字典数据类型,字典是按key取值,字典[键名],z[0]会出错,因此选项C会报错;z[1113]=x[5:]="奋斗ing",选项D为True。故选D。
14.C
【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故符合 Python变量命名规则的是_ Str,故本题选C选项。
15.A
【详解】本题主要考查Python程序的执行。分析程序可知,循环条件是x<20,循环体是x=x*3,n=n+1,故循环结束时,x的值依次是1、3、9、27,循环了3次,故n=3,故本题选A选项。
16.B
【详解】本题考查Python程序设计相关内容。本题涉及到链表的插入相关知识。根据题意if条件是在链表头部插入数据;else是在链表中插入数据,p引入头指针,q指向头指针的后继节点,需要遍历整个链表,只需要遍历到最后一个节点即可,若在while条件中令p!=-1,那么逻辑就会出错,p指向尾结点时,q指向-1,data就会和尾结点的后继指针的数据比较。故应该是令q!=-1,q指向尾结点时,和data比较最后一次,然后q跳转到尾结点的后继指针上,遍历结束。执行插入的过程是①令p所直接点的后继指针指向data的位置即a[p][1]=len(a)-1,但是新节点是在最后加入的,所以a[p][1]=len(a);②构建新节点[data,q],即成功插入。故本题答案是B选项。
17.B
【详解】本题考查的是Python循环语句。初始值a=2,b=1。
a>=b成立,执行 b=a * b=2, a=2 * a=4;
a>=b成立,执行 b=a * b=4*2=8, a=2 * a=8;
a>=b成立,执行 b=a * b=8*8=64, a=2 * a=16;
a>=b不成立,跳出循环,故最后a、b的值分别为16、64。选项B正确。
18.D
【详解】本题主要考查Python表达式。Abs(x)、123+45值为数值型,“abc”*3、“123+45” 、 a=input(“请输入a的值:”)值为字符串型,故本题选D选项。
19.B
【详解】本题考查Python运算符与表达式相关内容。A选项,30//4<5-->7<5-->False。B选项,1.5+2.5==4.0-->4.0==4.0-->True。C选项,[2] in [1,2,3]-->False。D选项,3>5<=7-->False。故本题答案是B选项。
20.D
【详解】本题主要考查Python表达式的运算。已知x="苹果,50",y=["苹果",50],z={"苹果":50},x[-4::-1]="果苹",y[0]="苹果",x[3:5]="50",y[1]=50,z[y[0]]=50,故表达式x[-4::-1]==y[0]、x[3:5]==y[1]、y[1] in z值均为False,表达式z[y[0]]==50值为True,故本题选D选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$