内容正文:
3.2 Python语言程序设计
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.以下语句中,可以得到[1,3,5,7,9]序列的是( )
A.range(1,9,2) B.range(0,10,2) C.range(0,9,2) D.range(1,10,2)
2.用 Python 创建了一个 DataFrame 对象 df1:
import pandas as pd
data=[[88,89,96],[95,93,92],[90,87,95]]
df1=pd.DataFrame(data,index=[“小明”, “小红”,“小兰”],columns=[“语文”,“数学”,“英语”])
下列操作及描述不正确的是( )
A.print(df1[“英语”])输出英语列的数据
B.print(df1.数学)输出数学列的数据
C.print(df1.sort_values(“语文”,axis=1))输出语文列数据升序排序
D.print(df1[df1.语文<90])输出小明同学的成绩
3.下面的Python程序段运行后的输出结果是( )
x=24
if x%2=1:
print(x,"是奇数。")
else:
print(x,"是偶数。")
A.24是奇数。 B.x是偶数。 C.x是奇数。 D.24是偶数。
4.某Python程序如下:
n=0
for i in range(32):
m=i;x=0
while m>0:
x+=m%2
m//=2
if x==3:
n+=1
print(n)
程序运行后,输出的结果是( )
A.3 B.5 C.10 D.32
5.水仙花数是指每个位上的数字的 3次幂之和等于它本身。例如有 13 + 53 + 33 = 153,所以 153为水仙花数。判断整数 n是否为水仙花数的 Python代码如下:
n = int(input('请输入一个三位整数'))
x1 = n % 10
__________________
x3 = n // 100 % 10
if x1**3 + x2**3 + x3**3 == n :
print(n,'是水仙花数!')
else:
print(n, '不是水仙花数!')
为实现上述功能,划线处可以是( )
①x2 = n // 10 % 10 ②x2 = n % 100 // 10
③x2 = n % 100 % 10 ④x2 = int(n / 10) % 10
A.①②③ B.①②④ C.②③④ D.①③④
6.列表q长度为20,q[0]至q[4]的值依次为'p','r','i','n','t',执行如下程序段后,输出的最后一个字符为( )
head, tail= 0,5
while head<tail:
if head %3 == 0:
q[tail] = q[head]
tail+=1
else:
print(q[head])
head+= 1
A.t B.n C.i D.r
7.以下数据结构中不属于线性结构的是( )
A.数组 B.链表 C.队列 D.树
8.下列程序的运行结果是( )
word=["my","apple","Label","Name","nose","nice"]
n=0
for ch in word:
if ch[1]=="a":
n=n+1
print(ch,end=" ")
print(n)
A. B. C.apple 1 D.Label Name 2
9.如下Python程序运行结束时,变量i和s的值分别是( )
i=0
s=0
while i<5:
i+=1
s=s+i
print("i=",i,"s=",s)
A.i=5 s=10 B.i=4 s=10 C.i=5 s=15 D.i=4 s=15
10.以下选项中,不是Python中文件操作的相关函数是( )。
A.open () B.load ()
C.read () D.write ()
11.输入一个四位正整数, 判断该四位正整数每一位上的数字是否有重复。实现上述功能的Python 程序段如下:
n = int(input("请输入一个四位正整数:"))
f = [0] *
while n > 0:
y = n % 10
n = n // 10
if sum(f) == 4:
print("没有重复的数字。")
else:
print("有重复的数字。") 方框中的(1)和(2)可选的代码有:①10;②4;③f[y]+=1;④f[y]=1下列选项中,代码顺序正确的是( )
A.①③ B.②③ C.②④ D.①④
12.在Python语言中,数据的输入是通过( )来实现的。
A.input( )函数 B.print( )函数
C.output( )函数 D.abs( )函数
13.以下对 Python 中变量的命名规则叙述,错误的是( )
A.区分英文字母的大小写
B.变量名可以使用任意字符
C.变量名必须以字母或下划线开头,可以包含字母、数字或下划线
D.不能使用保留字
14.在Python语言中,执行“int(0.7)”函数后的结果是( )
A.0 B.7 C.0.7 D.0.7
15.如下Python程序段:
s=list("bcaabca")
n=len(s)
for i in range(1,n):
for j in range(n-1,i-1,-1):
if s[j]=='a' and s[j-1]!='a':
s[j],s[j-1]=s[j-1],s[j]
print(s)
执行该程序段后,输出的内容为( )
A.['b', 'c', 'b', 'c', 'a', 'a', 'a'] B.['b', 'b', 'c', 'c', 'a', 'a', 'a']
C.['a', 'a', 'a', 'b', 'c', 'b', 'c'] D.['a', 'a', 'a', 'b', 'b', 'c', 'c']
16.有如下程序段:
s=1
for i in range(0,10,3):
s+=i
print(s)
程序运行后,输出的内容是( )
A. 20 B.19 C.22 D.31
17.在python中如下程序运行后的结果为( )
A.等边三角形 B.正四边形 C.梯形 D.圆
18.有如下Python程序段:
c,m=0,0
for i in range(2,len(a)):
if a[i-2]+a[i-1]==a[i]:
c+=1
if c>m:
m=c
else:
c=0
若列表 a=[2,1,3,4,5,9,14,23],执行该程序段后,变量 m 的值是( )
A.0 B.1 C.2 D.3
19.有如下Python段:
import random
b=[ 39,35,28,17,15,11,9,6]
n=random.randint(1,4)*2-1
for i in range(8-n):
for j in range(7,i,-1):
if b[j] < b[j-1]:
tt=b[j]
b[j]=b[j-1]
b[j1]=tt
print(b)
执行该程序段后,输出的结果不可能是( )
A.6,39,35,28,17,15,11,9 B.6,9,11,15,17,39,35,28
C.6,9,11,15,39,35,28,17 D.6,9,11,39,35,28,17,15
20.常量是指在程序运行过程中其值始终不发生变化的量,下列选项中属于Python常量的有哪几项。( )
A.2023 B.'good' C.38.9 D.-45
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题主要考查Python函数的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。可以得到[1,3,5,7,9]序列的是range(1,10,2),故本题选D选项。
2.C
【详解】本题主要考查Python程序。print(df1[“英语”])输出英语列的数据;print(df1.数学)输出数学列的数据;print(df1[df1.语文<90])输出小明同学的成绩。sort_values(by=‘##’,axis=0,ascending=True, inplace=False, na_position=‘last’),by指定列名(axis=0或’index’)或索引值(axis=1或’columns’),若axis=0或’index’,则按照指定列中数据大小排序;若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0。故print(df1.sort_values(“语文”,axis=1))输出语文列数据升序排序描述错误,选C选项。
3.D
【详解】本题主要考查Python分支结构。分析程序可知,执行else部分,输出“24是偶数。”,故本题选D选项。
4.C
【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现统计0~31所有的整数转换为二进制中包含1的个数为3的数有多少个。满足的数有7、11、13、14、19、21、22、25、26、28,一共有10个,因此输出的结果是10,故本题选C选项。
5.B
【详解】本题主要考查Python程序的调试。水仙花数是指每个位上的数字的 3次幂之和等于它本身。例如有 13 + 53 + 33 = 153,所以 153为水仙花数。x1是取出n的个位数,x3是取出n的百位数,划线处是取出n的十位数,表达式x2 = n // 10 % 10、x2 = n % 100 // 10、x2 = int(n / 10) % 10均可以实现取出n的十位数,方法是先对n整除10再对10取余得到,或先对100取余再整除10得到,故本题选B选项。
6.B
【详解】本题考查程序分析。初始化head和tail,当head<tail时,进入循环操作。当head能被3整除,则复制q[head]到q[tail]中,tail+=1操作。否则输出q[head]。循环一次,head+=1操作一次。该程序运行输出过程为:
head= 1 , tail= 6 , q[head]= r
head= 2 , tail= 6 , q[head]= i
head= 4 , tail= 7 , q[head]= t
head= 5 , tail= 7 , q[head]= p
head= 7 , tail= 8 , q[head]= n
故输出的最后一个字符为:n。故正确答案为:选项B。
7.D
【详解】本题主要考查数据结构的描述。线性结构是一个有序数据元素的集合,如数组、链表和队列。树结构属于非线性结构,故本题选D选项。
8.D
【详解】本题考查的是Python循环语句。字符串的索引是从0开始,-1为从末尾开始的位置,故由ch[1]=="a"可知,查找word列表中单词第二字母为"a",end=" "表示输出时不换行,n是统计满足条件单词的个数,故程序的运行结果是:Label Name 2。选项D正确。
9.C
【详解】本题考查Python循环程序设计相关内容。分析代码段可知,其功能是计算1-5的和。s初值为0,i初值为0,小于5,
第一次进入循环:i+=1,i值变为1;s=s+i-->s=0+1,s值为1;i值为1,小于5;
第二次进入循环:i+=1,i值变为2;s=s+i-->s=1+2,s值为3;i值为2,小于5;
第三次进入循环:i+=1,i值变为3;s=s+i-->s=3+3,s值为6;i值为3,小于5;
第四次进入循环:i+=1,i值变为4;s=s+i-->s=6+4,s值为10;i值为4,小于5;
第五次进入循环:i+=1,i值变为5;s=s+i-->s=10+5,s值为15;i值为5,不小于5,不再进入循环,此时,i=5,s=15,输出i、s的值。
故本题答案是C选项。
10.B
【详解】本题主要考查Python文件操作函数。open ()是文件打开函数,read () 、write ()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项。
11.D
【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,可知:f为一个长度为10的列表,按照索引号分别对应十进制数0--9(四位正整数的最高位取值1--9,其余三位取值均为0--9),(1)处应填写:10。while循环作用是将四位正整数的每一位取出来,并将其值与索引号对应的f列表元素f[y]值置为1,(2)应填写:f[y]=1。故本题答案为D选项。
12.A
【详解】本题考查的是Python函数。input( )是输入函数,print( )是输出函数,abs( )是绝对值函数。故选项A正确。
13.B
【详解】本题主要考查Python变量的命名。Python中,变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字,且区分英文字母的大小写。故本题选B选项。
14.A
【详解】本题主要考查Python函数的应用。int() 函数用于将一个字符串或数字转换为整型。执行“int(0.7)”函数后的结果是0,故本题选A选项。
15.C
【详解】本题考查Python程序的执行与调试。分析程序,每轮循环从后往前依次比较,当s[j]='a'且s[j-1]!='a'时,则交换s[j]与s[j-1]。第一轮循环后s=['a', 'b', 'c', 'a', 'a', 'b', 'c'] ,第二轮循环后s=['a', 'a', 'b', 'c', 'a', 'b', 'c'],第三轮循环后s=['a', 'a', 'a', 'b', 'c', 'b', 'c'],此后不再满足if判断条件,即不再交换,s不再发生变化。因此执行该程序段后,输出的内容为['a', 'a', 'a', 'b', 'c', 'b', 'c']。故选C。
16.B
【详解】本题主要考查Python程序的执行。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。变量i的取值依次是0、3、6、9,故程序运行后,输出的内容是s=s+i=1+0+3+6+9=19,故本题选B选项。
17.B
【详解】本题主要考查Python程序的执行。分析程序可知,变量i依次取0、1、2、3,即循环4次,每次先绘制长度为100的直线,然后向左偏转90°,再继续绘制,故程序运行后的结果为正四边形,故本题选B选项。
18.D
【详解】本题考查Python程序设计相关内容。分析程序段,其运行过程如图所示:
程序设运行结束时,变量m的值是3,故本题答案是D选项。
19.C
【详解】本题考查Python程序设计相关内容。n的值为1、3、5、7,当n=7时,将b数组中的数据进行1遍排序,排序结果为“6,39,35,28,17,15,11,9”,因此A选项有可能;当n=3时,排序结果为“6,9,11,15,17,39,35,28”,因此B选项有可能;当n=5时,排序结果为“6,9,11,39,35,28,17,15”,因此D选项有可能;C选项是当n=4时的排序结果,而n是[1,8]间的奇数,因此不可能是C。故本题答案是C选项。
20.ABCD
【详解】本题主要考查Python常量。2023、38.9、-45均属于数值型常量, 'good' 属于字符串常量,故本题选ABCD选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$