内容正文:
2.3 程序设计基本知识
一、选择题
1.在Python语言中,已知L=[74,81,56, 90],则max(L)运行结果是( )
A.90 B.81 C.56 D.74
2.numpy是Python中的一个科学计算包,它包含很多数学函数,下列可以创建一个等差数列的函数是( )
A.average函数 B.arange函数 C.sum函数 D.sqrt函数
3.设计人口普查程序,用一个变量表示上海市的人口总数,这个变量的类型应是( )。
A.Integer B.String C.Long D.Boolean
4.float属于的数据类型( )
A.整型 B.浮点型 C.字符型 D.A,B,C全错
5.下列变量名的命名合法的是( )
A.x_y B.2xy C.print D.x+y
6.运行如下Python程序段,若输入“B”,则变量cnt的值为( )
a=[ 'A ','B ','C ','D ','E ','F ','G ']
ch=input(“输入A-G之间的字母:”)
cnt=0
for key in a:
i,j=0,len(a)-1
while i<=j:
m=(i+j)//2
if a[m]==ch:
cnt+=1
break#终止while循环
if a[m]==key:
break
elif a[m]<key:
i=m+1
else:
j=m-1
A.1 B.2 C.3 D.7
7.Python表达式23%2**3*3+15//int(math.sqrt(7))结果是( )
A.30 B.28 C.26 D.24
8.Python是一种面向对象的计算机程序设计语言,关于其描述中错误的一项是( )
A.Python是一种解释型语言,运行时需要编译
B.Python源文件默认的扩展名为“.py”
C.具有免费、开源、可移植强等优点
D.Python语言专注于问题的解决,弱化了语言本身的学习难度
9.若在一个大小为8的数组上实现循环队列,当前队首head和队尾tail的值分别为4和6,从队列中删除一个元素,再加入两个元素后,head和tail的值分别是( )
A.5和0 B.3和8 C.6和5 D.6和7
10.下列运算符中优先级最高的是( )
A.** B.* C.// D./
11.有如下 Python 程序段:
a=[4, 6, 1, 19, 19, 14]
n=len(a); i=0; flag=False
while i<n-1 and not flag:
j=n-2; flag=True
while j>=i:
if a[j],a[j+1]=a[j+1],a[j]
flag=False
j-=1
i+=1
print(a)
程序执行后,加框处语句执行次数为( )
A.15 B.9 C.5 D.4
12.已知字典s={1:2, 'a': 'b',2:3, 'b':4},下列说法正确的是( )
A.s[1]+s['b']的值为24 B.s[1]+s['a']的值为'2b' C.4 in s的值为False D.s[2 ]in s的值为True
13.已知字符串变量s值“ZheJiangHangZhou”,若想截取字符串s的后面k个字符串,且k≤len(s),下列Python表达式正确的是( )
A.s[len(s)-k:len(s)-1] B.s[len(s)-k-1:len(s)-1] C.s[len(s)-k:len(s)] D.s[len(s)-k+1:len(s)]
14.在Python shell中输入下列代码:
输入512后按回车键,输出结果是( )
A.1024 B."1024" C.512512 D."512512"
15.有如下Python程序段,执行程序后变量c的值是( )
s = ord("S")
c = chr(s+5)
A.88 B."T" C."x" D."X"
16.用Python程序处理字符串,程序如下:
s="b2-c1-2"
t=0;sum=0
for ch in s:
if "0"<=ch<="9":
t=t*10+int(ch)
elif "a"<=ch<="z":
t=ord(ch)-ord("a")#函数ord计算字符的ASCII值
else:
sum+=t
t=0
执行该程序段后,sum的值是( )
A.12 B.35 C.33 D.21
二、填空题
17.列表a的初始值为[1,2,3,8,9,4,6,0],以下程序代码的执行结果是 。
max = 1
t = 1
for i in range(7) :
if a[i] < a[i + 1] :
t = t + 1
else:
t = 1
if t > max :
max = t
print(max)
18.在Python程序中,设变量a的初始值为-3,那么表达式4*a/abs(a)的结果是 。
19.Python 计算:
(1)Python 表达式4.5/2的值为 。
(2)Python表达式4.5//2的值为 。
(3)Python 表达式4.5%2的值为 。
(4)Python 表达式5%2的值为 。
(5)Python 表达式12/4-2+5*8/4%5/2的值为 。
20.阅读下列Python程序,写出运行结果
a=[5,2,8,7,3] #创建列表,各元素用逗号隔开,放在方括号内
a[0]=8 #修改列表第一个元素的值为8,注意列表的索引号
del a[1] #删除列表第二个元素
a.append(9) #在列表尾部添加一个数据元素9
print(a) #打印列表
运行结果: 。
21.表达式a = (1 and 0 or not True),a的布尔等于 。
三、判断题
22.用于数学计算的math()函数,不属于Python的内置函数。( )
23.“num”和“NUM”会被Python解释器视为相同的变量。( )
24.Python语言具有面向对象、代码规范、函数库丰富、动态数据类型等特点。( )
四、操作题
25.为了鼓励节约用水,某地政府规定居民用水按月采用阶梯收费政策,每户每月用水不超过10方部分按每方4元计费,10方以上不超过20方部分按每方6元计费,20方以上部分按每方8元计费。请根据下表示意的某户居民用水量数据,在Python环境中设计程序,计算每月水费、全年用水量和水费合计,并在在屏幕上显示处理后的结果。
年度居民水费详表
月份
用水量
水费
一月
9
二月
15
三月
7
四月
6
五月
9
六月
12
七月
22
八月
25
九月
13
十月
8
十一月
9
十二月
5
合计
要求:
(1)打开“D:\NetStuOp\020302100078\xxx\548”中的文件“流程图.docx”,在其中绘制程序流程图(考试时会让填空完善流程图),完成后保存文件并关闭应用软件。
(2)打开“D:\NetStuOp\020302100078\xxx\548”中的文件“P1.py”,完善程序并运行,完成有关计算任务并显示处理结果,完成后保存文件并关闭应用软件。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题主要考查Python表达式的运算。max(L)返回列表L中的最大值,已知L=[74,81,56, 90],则max(L)运行结果是90,故本题选A选项。
2.B
【详解】本题主要考查Python函数。arange函数用于创建等差数组,average函数用于求平均值,sum函数用于求和,sqrt函数用于开方,故本题选B选项。
3.C
【详解】本题考查的知识点是数据类型的使用。
人口总数的值是数,所以应该选择的数据类型是数值型,而String是字符串型,Boolean是逻辑型,故排除B和D选项,Integer为整数型,是-32768~32767范围内的任何整数,Long是长整数型,是-2147483648~2147483647范围内的整数,因为表示的是上海市人口总数,所以数据类型应该选择Long。
故选择C选项。
4.B
【详解】本题主要考查数据类型。Integer是整型,float是浮点型,String是字符型,故本题选B选项。
5.A
【详解】本题考查变量名。变量名只能包含字母、数字和下划线,且不能以数字开头,不能使用Python中的关键字。B选项以数字开头,不合法;C选项“print”是Python中的关键字,不合法;D选项中“+”不能出现在变量名中,不合法。A选项“x_y”符合变量名的命名规则,是合法的。故答案为:A。
6.C
【详解】本题考查Python程序设计相关内容。分析程序段,其运行过程如图所示:。运行结束,变量cnt的值为3,故本题答案是C选项。
7.B
【详解】本题主要考查Python表达式的运算。23%2**3*3+15//int(math.sqrt(7))=23%8*3+15//int(math.sqrt(7))=23%8*3+15//2=7*3+7=28,故本题选B选项。
8.A
【详解】本题主要考查Python程序设计语言。Python是解释型语言,运行前不需要编译,运行时直接翻译一句执行一句;Python源文件默认的扩展名为“.py”;具有免费、开源、可移植强等优点;Python语言专注于问题的解决,弱化了语言本身的学习难度,故本题选A选项。
9.A
【详解】本题考查数据结构。初始状态下,循环队列的大小为8,队首head为4,队尾tail为6。 删除一个元素后,队首head向后移动一位,即head变为5。 加入两个元素后,队尾tail向后移动两位,即tail变为0。 因此,最终的状态是队首head为5,队尾tail为0。故答案为:A。
10.A
【详解】本题考查的是Python运算符。*、/、//优先级一样,**运算优先级最高。故本题应选A。
11.D
【详解】本题考查Python程序。本题通过判断是否进行交换来提前终止排序,从而减少不必要的比较次数。程序思路:外层循环控制排序轮数,从i=0开始。内层循环从列表末尾向前比较相邻元素,并进行必要的交换。如果某一轮排序中没有发生交换,设置flag为True,提前终止排序。统计加框处(即交换语句)的执行次数。手动推导交换步骤可得执行次数为4。故答案为:D。
12.C
【详解】本题主要考查字典数据结构。s[1]=2,s['b']=4,s['a']= 'b',故s[1]+s['b']=6,s[1]、s['a']数据类型不一样不能直接做运算;Python字典in操作符用于判断键是否存在于字典中,4 in s的值为False,s[2] in s的值为False。故选C。
13.C
【详解】本题考查Python表达式。字符串s中最后一个字符索引号位置是len(s)-1,设起始位置点是x,由于需要截取的是后面长度为k的字符串,所以有len(s)-1-x+1=k,所以x=len(s)-k。需要截取的字符串区间是[len(s)-k:len(s)-1],因此答案是s[len(s)-k:len(s)]。故答案为:C。
14.C
【详解】本题考查的是python程序运行结构。a得到的是一个字符串,2*a最后输出的字符串a输出两遍,故选C正确。
15.D
【详解】本题考查的变量。本题的运行效果就是将字母S向后移动5个字母,赋值给变量c。故选项D正确。
16.C
【详解】本题考查字符串的应用,根据代码,运行如下表,最后各部分逆序连接。
分组字符
t
sum
“b2”
12
12
“cl”
21
33
“2”
2
不参加运算
故选择C。
17.5
【详解】本题考查程序分析。
当列表a中的元素a[i]<a[i+1]时,t加1赋值给t,a的初始值为[1,2,3,8,9,4,6,0],可知元素列表中递增序列,[1,2,3,8,9],此时t=5,max=5,剩余的后续元素,并未超过5,故正确答案为:5。
18.-4.0
【详解】本题主要考查Python表达式的运算。a=-3,则表达式4*a/abs(a)=4*(-3)/3=-4.0。
19. 2.25 2.0 0.5 1 1.0
【详解】本题主要考查Python表达式的运算。“/”是除运算,“//”是整除运算,“%”是取余运算,故①4.5/2=2.25,②4.5//2=2.0,③4.5%2=0.5,④5%2=1,⑤12/4-2+5*8/4%5/2=3.0-2+0.0=1.0。
20.[8,8,7,3,9]
【详解】本题考查的是Python列表。初始列表a=[5,2,8,7,3],依据程序后的注释,可知运行结果:[8,8,7,3,9]。
21.False
【详解】本题考查的是Python表达式。逻辑运算优先级从高到低是not、and、or。0表示False,1 and 0 or not True=1 and 0 or False=False or False=False。
22.错误
【详解】本题主要考查Python函数的描述。用于数学计算的math()函数,属于Python的内置函数,故表述错误。
23.错误
【详解】本题考查变量。Python中的变量严格区分大小写。num和NUM不是相同变量,故错误。
24.正确
【详解】本题考查的是Python。Python语言具有面向对象、代码规范、函数库丰富、动态数据类型等特点。说法正确。
25.本题为上机操作题,具体按照操作步骤进行。
【详解】本题主要考查Python程序设计。本题为上机操作题,具体按照操作步骤进行。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$