内容正文:
第三章 算法的程序实现
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.两个阻值分别为R1、R2的电阻并联后,电路阻值R可由公式求解,下面能正确求出R的Python表达式是( )
A.(R1+ R2)/(R1*R2) B.R1+R2/(R1*R2)
C.R1*R2/R1+R2 D.R1*R2/(R1+R2)
2.斐波那契数列的迭代表达式正确的是( )
A.f1=f2,f2=f1+f2 B.f1=f1+f2,f2=f1 C.f1,f2=f1+f2,f1 D.f1,f2=f2,f1+f2
3.有如下Python程序段:
import random
a=[]
for i in range(6):
a.append(random.randint(1,10))
for i in range(5):
if i%2==0 and a[i] < a[i+1]:
a[i],a[i+1]=a[i+1],a[i]
else:
a[i]-=1
print(a)
运行该程序后,输出结果不可能的是( )
A.[7, 3, 3, 4, 9, 4] B.[8, 8, 10, 5, 7, 8] C.[9, 4, 9, 4, 8, 7] D.[7, 2, 9, 7, 4, 5]
4.在Python语言中,下列可作为程序源文件后缀名的是( )。
A.pdf B.docx C.png D.py
5.在日常生活中,我们常常会碰到许多需要解决的问题,以下描述中最适合用计算机编程来处理的是( )
A.确定去某体育场所的路线 B.计算学校运动会各班级成绩排名
C.统计100000以内的素数的个数 D.寻找最近热播电影
6.某DataFrame对象df共包含5个数据列、200个数据行,其中第2列为“单位”列,下列语句中能读取df对象中“单位”列所有数据的是( )
A.df. columns[1] B.df["单位"] C.df[单位] D.df. "单位"
7.在Python中,算式5+6*4%(2+8)结果为( )
A.25
B.15
C.9
D.7.4
8.与表达式 not x<0 or y%2==0具有相同功能的是( )
A.not (x<0 or y%2==0) B.x>0 or y/2==int(y/2)
C.x>0 or y/2==int(y/2) D.x>=0 or y//2==y/2
9.如下程序是求两个整数的最大公约数。这个程序使用的算法思想是( )
a=int(input())
b=int(input())
c=a
while a%c>0 or b%c>0:
c=c-1
print(“最大公约数:”,c)
A.解析法 B.枚举法 C.递归法 D.递推法
10.下列Python表达式的值为整数2024的有( )
A.1012**2 B.int(2024.9) C.abs(-2024) D.len("2014")
11.在Python 中,将代数式写成表达式,正确的是( )
A.(a+b*2)/a+b B.(a+b×2)/(a+b)
C.(a+b)*2/(a+b) D.(a+b*2)/(a+b)
12.已知字典dic={"姓名":"小明","语文":115,"数学":120,"英语":108},下列说法不正确的是( )
A.dic["语文"]+dic["数学"]+dic["英语"]的值是343
B.若要将学生姓名更改为"小华",可执行语句dic["姓名"]="小华"
C.若要添加该同学的技术成绩为75,可执行语句dic["技术"]=75
D.dic["英语"] in dic的值为True
13.如dist=0.87,下列常用的关系运算符运算结果错误的是( )
A.dist>=1 False B.dist==1 False C.dist!=1 True D.dist<=1 False
14.在Python中,函数len([1,2,5])的返回值是( )
A.5 B.1 C.8 D.3
15.在Python中,执行语句x=1+2*2**2后,x的值是( )
A.6 B.9 C.16 D.17
16.某Python程序如下:
s= "ZHEJIANGSHENG"
p= "HANGZHOUSHI"
if len(s)>len(p) :
s,p=p,s
x=len(p)-len(s)
if x<3:
y=s[1:6:x]
else:
y=s[0:x]
print (y)
程序运行后,变量y的值是( )
A."AG" B."AGH" C."HNZ” D."HJA"
17.有如下Python程序段:
a=[95,92,90,80,78,72,60,51,45]
L,R,ans=0,len(a)-1,0
key=int(input("key:"))
while L<=R:
m=(L+R)//2
if a[m]==key:
break
elif a[m] < key:
R=m- 1;ans+=1
else:
L=m+1;ans-=1
print(ans)
执行该程序段后,输出的结果为0,则输入key 的值可能是( )
A.95 B.80 C.72 D.45
18.下列 Python 代码运行结果是( )。
a = 3
b = 4
a = a*b
print(a*b)
A.3 B.4 C.12 D.48
19.python文件的扩展名是( )
A.py B.pye C.vbp D.pyr
20.以下不属于列表的是( )
A.a=[0,2,4,6] B.range(100) C.obj=["清华",1,"北大"] D.{1,2,3,4}
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查的是python表达式的书写。表达式的书写要在一行中,并且乘号不能省略,并且用括号表示其计算的优先级。电阻表达式转换后,选项D正确。
2.D
【详解】本题考查Python程序设计相关内容。斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。在数学上,斐波那契数列被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)。所以关于斐波那契数列的迭代表达式正确的是f=f1+f2,fl=f2,f2=f,结合Python表达式特点,D选项可以实现求斐波那契数列。故本题选D选项。
3.A
【详解】本题考查的是循环语句。阅读程序可知,列表索引为偶数同时比后一个元素小时,交换两数;其余情况列表元素值减1。如果原来列表索引为偶数的值比后一个大,这两个数都是执行else,执行后索引为偶数的值还是大于后一个;如果原来列表索引为偶数的值等于后一个,这两个数都是执行else,执行后索引为偶数的值还是等于后一个(特例:当原来a[4]=a[5],由于第二个for变量取值到4,a[5]不减1,这时a[5]-a[4]=1);如果原来列表索引为偶数的值比后一个小,索引为偶数执行if语句(使得索引为偶数的值大于后一个),后一个执行else,执行后索引为偶数的值大于后一个。总上所述,程序执行结果肯定:a[0]>=a[1],a[2]>=a[3]。选项A中a[2]=3,a[3]=4不满足a[2]>=a[3]。故本题应选A。
4.D
【详解】本题主要考查Python程序文件。Python程序源文件后缀名是py,故本题选D选项。
5.C
【详解】本题考查计算机编程解决问题。确定去某体育场所的路线可能需要使用地图应用或导航软件来解决,这并不需要编程;计算学校运动会各班级成绩排名可以通过电子表格或统计软件来处理,也不需要编程;寻找最近热播电影可以通过在线电影平台或应用来实现,也不需要编程。而统计100000以内的素数的个数是一个典型的数学计算问题,可以通过编程来解决,编写一个程序来计算并统计素数的个数是最适合的。故答案为:C。
6.B
【详解】本题考查Python基础知识。在Python中,要读取DataFrame对象中特定列的数据,可以使用列名作为键来访问,即df["单位"]。故答案为:B。
7.C
【详解】本题主要考查Python表达式的运算。小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10 =5+ 24%10=5+4=9,故本题选C选项。
8.D
【详解】本题主要考查Python表达式的运算。not x<0等价于x>=0, y%2==0表示y是偶数,等价于 y%2==0。故与表达式 not x<0 or y%2==0具有相同功能的是x>=0 or y//2==y/2,故本题选D选项。
9.B
【详解】本题主要考查Python程序及枚举算法。分析程序可知,通过枚举所有可能找出a和b的最大公约数,故本题选B选项。
10.BC
【详解】本题考查Python程序设计相关内容。A选项,“**”为乘方运算符,结果为:1,024,144,不符合题意。B选项,int()函数作用是将数据转换为整型,结果为:2024,符合题意。C选项,abs()函数作用是求数据的绝对值,结果为:2024,符合题意。D选项,len()函数作用计算数据长度,结果为:4,不符合题意。故本题答案是BC选项。
11.D
【详解】本题考查Python基础。
根据题意可知选项A,分母没有加括号以改变优先级。选项B,乘法运算符错误。选项C,加括号后,优先级发生变化,不符合题意。故正确答案为:选项D。
12.D
【详解】本题主要考查字典数据类型。dic["语文"]+dic["数学"]+dic["英语"]=115+120+108=343;若要将学生姓名更改为"小华",可执行语句dic["姓名"]="小华";若要添加该同学的技术成绩为75,可执行语句dic["技术"]=75;dic["英语"] in dic的值为False,故本题选D选项。
13.D
【详解】本题主要考查Python关系运算符。如dist=0.87,dist>=1 False,dist==1 False,dist!=1 True,dist<=1 True,故本题选D选项。
14.D
【详解】本题考查Python函数。函数len()用于返回一个序列(如列表、元组、字符串等)的长度或元素个数。给定列表[1,2,5],使用len()函数计算其元素个数,即列表的长度。因此,函数len([1,2,5])的返回值是列表[1,2,5]中的元素个数,即3。故答案为:D。
15.B
【详解】本题主要考查Python表达式的运算。在Python中,“*”是乘运算符,“**”是幂运算符,x=1+2*2**2=1+2*4=1+8=9,故本题选B选项。
16.B
【详解】本题考查Python程序输出结果。逐步分析这个Python程序:定义了两个字符串变量s和p。使用条件判断语句,比较s和p的长度,如果s的长度大于p的长度,就交换它们的值。此时s="HANGZHOUSHI",p="ZHEJIANGSHENG"。计算x的值,x等于p的长度减去s的长度,即11-10=2。进入下一个条件判断语句,因为x小于3,所以执行以下操作:y=s[1:6:2],这表示从索引1(包括)到索引6(不包括)的字符,步长为2。所以y="AGH"。最后,打印y的值,结果是"AGH"。故答案为B选项。
17.C
【详解】本题主要考查二分查找及Python程序实现。该二分查找用二叉树表示如下,分析程序可知,遍历左子树时ans递增1,遍历右子树时ans递减1,因此key=95时,ans=2;key=80时,ans=-1;key=72时,ans=0;key=45时,ans=-3,故本题选C选项。
18.D
【详解】本题考查的是Python语句。a=3,b=4,a=a*b=3*4=12,a*b=12*4=48。故答案应选D。
19.A
【详解】本题主要考查Python文件。python文件的扩展名是py,故本题选A选项。
20.D
【详解】本题考查Python列表相关内容。在Python中,列表(List)是一种有序、可变的数据类型,被广泛用于存储和处理多个元素。列表是一种容器,可以包含任意数据类型的元素,包括数字、字符串、列表、字典等。列表定义使用中括号[],元素之间用逗号分隔。range()函数是Python的内置函数,它能返回一系列连续添加的整数,能够生成一个列表对象。ABC选项属于列表,D选项不是列表。故本题答案是D选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$