第四章 程序设计基础 2024-2025学年高中信息技术粤教版(2019) 必修1

2024-08-05
| 11页
| 66人阅读
| 0人下载

内容正文:

第四章 程序设计基础 一、选择题 1.在Python中,以下哪个函数用于获取用户输入并将其转换为整数(   ) A.int(input()) B.getInt() C.readInt() D.parseInt() 2.在python中,表示“x属于区间(0,1]”的正确表达式是(   ) A.x>0 orx<1 B.0<x<=1 C.x>0 orx<=1 D.x>0 and x<1 3.某Python程序如下: s='A3B57e';sl=";i=0 while i<len(s):     if'A'<=s[i]<='Z':         sl=s1+chr(ord(s[i])+32)     elif'0'<=s[i]<='9':         sl=s[i]+s1     i=i+1 print(s1) 运行后输出的结果是(   ) A.753abe B.a3b57 C.753AB D.753ab 4.下面对Pygame的理解不正确的是(  ) A.使用Pygame可以开发出优秀的游戏 B.Pygame是一种游戏开发引擎,基本逻辑具有参考价值 C.Pygame适合用于游戏逻辑验证、游戏入门及系统演示验证 D.Python最经典的2D游戏开发第三方库,但不支持3D游戏开发 5.函数max([5,0,8,10])的值是(    ) A.5 B.0 C.8 D.10 6.在 Python 中,表达式[0,1]*2的计算结果是(    ) A.[0,0,1,1] B.[0,2] C.[0,1,0,1] D.出错 7.在EPython 语言中,表示“a小于-2或者a大于2”的正确表达式是(    ) A.a<-2 or a>2 B.-2>a>2 C.a>-2 or a<2 D.a<-2 and a>2 8.在Python中,下列函数值为2020的是(  ) A.len("2020") B.str(2020) C.abs(round(-7.7)) D.abs(int("-2020")) 9.平面上任意两点P1(x1,y1),P2(x2,y2,)间的距离公式为。小华用Python编写了计算平面上两点之间距离的程序如下所示,下列说法错误的是(   ) 1  import math 2  x1=y1=2 3  x2=y2=8 4  d=math.sqrt((x2-x1)**2+(y2-y1)**2) 5  print("两点之间的距离为:",d) A.该程序代码中导入了math库,否则程序无法正常运行 B.“math.sqrt((x2-x1)**2+(y2-y1)**2)”的作用是计算平面上两点之间的距离 C.该程序中,变量x1、y1、x2、y2的数据类型为整数,变量d的数据类型是浮点数 D.该程序使用了循环结构 10.有下列程序段: s=″accdbbdca″ res=″ ″ for i in s:     if len(res)==0 or i!=res[-1]:         res+=i     elif i==res[-1]:        res=res[-1]+res[:len(res)-1] print(res) 该程序执行结束后,输出结果正确的是(   ) A.aca B.acdb C.dbcaca D.bcacdbdca 11.下列python赋值语句错误的是(    ) A.a=b=1 B.a+1=1 C.a=a+1 D.a,b=1.3 12.用火柴棍拼数字,各数字的拼法如下图所示,实现10根火柴棍(可以剩余)能拼成的最大两位数的Python程序如下,划线处应填入的代码是(   ) n=10 match= for i in range(99,9,-1):     if match[i//10]+match[i%10]<=n:         print(i)         break A.6255456376 B.'6255456376' C.[6,2,5,5,4,5,6,3,7,6] D.{'0':6,'1':2,'2':5,'3':5,'4':5,'5':6,'6':6,'7':3,'8':7,'9':6} 13.Python语言提供的列表类型,可以应用于一次处理多个数据对象的场合。下面Python程序运行后输出的结果是(   ) list1=[1,2, 3] list2=[10, 11, 12] list3=list1+list2 print (list3) A.[1,2, 3, 10, 11,12] B.[12, 11, 10, 3, 2, 1] C.[11, 13, 15] D.[110, 211, 312] 14.有如下Python程序段: import random x=[0]*5 i=0 flag=True while i<5:    key=random.randint(1,9)*2+1    if flag or key%3==0:      x[i]=key      flag=not flag      i=i+1 print(x) 执行该程序段后,下列输出结果可能的值是(    ) A.[9,13,7,1,15] B.[11,12,11,9,15] C.[7,3,5,15,17] D.[3,0,3,0,9] 15.下列Python表达式中,值为True的是(   ) A.6%3**2==0 B."110">"12" C.abs(-8)>=len("2023年11月") D.round(4.6)==5 and "he"in"Chinese" 16.下列表达式中,结果为True的是(   ) A.len(["hello"])==5 B.not (4/2**3 <= 1) C.3 >= 4 or not (3==2 and 3<=2) D.11%2 != 0 and False 二、填空题 17.在Python中,用于实现异常处理的关键字是 。 18.a=3,执行语句print (float(a)),则输出结果为( ) 19.某 Python 程序如下: n = int (input ()) sum = a = 3 res = 0 i=1 while i <= n:     res = res  + sum     sum = sum * 10 + a     i = i + 1 print (res) 当输入n值为3时,程序输出结果是 。 20.写出下列Python程序运行结果。 def factorial(n): #求n!     s=1     for i in range(2,n+1):         s=s*i     return s total=factorial(4) #调用factorial函数 print(total) 运行结果为: 。 21.可以用来创建空集合的函数是 。 三、判断题 22.使用内置函数open()且以“w”模式打开的文件,文件指针默认指向文件尾。( ) 23.已知x = 3,那么执行语句x+=6之后,x的内存地址不变。( ) 24.在Python3.x语言中,input()函数的返回值类型是字符串。( ) 25.Python语言中运算的优先级按从低到高依次为算术运算、赋值运算、关系运算。( ) 26.在Python语言中,变量名Air和air表示的是两个不同的变量。( ) 四、操作题 27.回文子串。输入一个字符串,输出所有长度至少为2的回文子串,并统计回文子串的个数。说明:两个不同位置的相同回文子串,统计时算两个。程序运行界面如下图所示: 请输入字符串:121ababa 121 aba bab aba ababa 字符串中共有回文子串数为:5 s=input(′请输入字符串:′) n=len(s) cnt=0 for i in range(2,n+1): # i为子串长度     for j in range(① ):         substr=s[j:j+i]         if ② : # 判断回文     print(substr)     ③ print(′字符串中共有回文子串数为:′,cnt) 程序划线①处应填入的代码为: ;程序划线②处应填入的代码为: ;程序划线③处应填入的代码为: 。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 【详解】本题考查Python基础。 在Python标准库中,不存在函数getInt()、readInt()或parseInt()。故正确答案为:选项A。 2.B 【详解】本题考查Python基础。 闭区间取到1,故排除选项A,D。属于区间(0,1]为并且的关系,故排除选项C。故正确答案为:选项B。 3.D 【详解】本题考查程序分析。根据代码if'A'<=s[i]<='Z':和'0'<=s[i]<='9':可知,该程序遍历字符串s,取出字母和数字,将大写字符转换成小写,将数字直接加到字符前面,存储在变量s1中,输出s1。故正确答案为选项D。 4.D 【详解】本题考查Python基础。 Python最经典的2D游戏开发第三方库,但不支持3D游戏开发。这个选项是不完全正确的。虽然Pygame被广泛认为是Python中用于2D游戏开发的经典第三方库,并且它确实提供了丰富的2D图形和声音处理功能,但它并非完全不支持3D游戏开发。Pygame本身主要聚焦于2D,但开发者仍然可以使用Pygame结合其他库(如OpenGL)来实现3D图形的渲染。故正确答案为:选项D。 5.D 【详解】本题考查的是Python函数。函数max是求最大值。故函数max([5,0,8,10])的值是10,故选D。 6.C 【详解】本题考查Python列表相关内容。在Python中,列表(List)是一种有序、可变的数据类型,被广泛用于存储和处理多个元素。列表是一种容器,可以包含任意数据类型的元素,包括数字、字符串、列表、字典等。列表定义使用中括号[],元素之间用逗号分隔。[0,1]*2中的运算符“*”表示将列表重复指定次数,即:[0,1,0,1],故本题答案是C选项。 7.A 【详解】题主要考查Python表达式的运算。and是“且”关系,or是“或”关系,故能正确表示条件“a小于-2或者a大于2”的表达式是a<-2 or a>2,故本题选A选项。 8.D 【详解】本题考查Python运算符与表达式相关内容。A选项,len("2020")-->4。B选项,str(2020)-->"2020"。C选项,abs(round(-7.7))-->7。D选项,abs(int("-2020"))-->abs(-2020)-->2020。故本题答案是D选项。 9.D 【详解】本题考查Python程序设计相关内容。结合程序段,分析四个选项:A选项,程序中使用了math库中的sqrt函数,需要使用import math将math库导入程序,选项正确。B选项,由计算距离公式转换为Python表达式,即为:math.sqrt((x2-x1)**2+(y2-y1)**2),选项正确。C选项,由“x1=y1=2”及“x2=y2=8”知,变量x1、y1、x2、y2的数据类型为整数,由“d=math.sqrt((x2-x1)**2+(y2-y1)**2)”知,变量d的数据类型是浮点数,选项正确。D选项,该程序使用了顺序结构,选项错误。故本题答案是D选项。 10.C 【详解】本题考查Python程序设计相关内容。 给定字符串s=″accdbbdca″,我们需要遍历字符串s并对其进行处理。首先,我们初始化一个空字符串res作为结果。在循环遍历字符串s的过程中,我们逐个检查每个字符。如果当前字符不在结果字符串res中,我们将其添加到res的末尾。这意味着我们只保留字符串s中的第一个出现的字符。根据这个逻辑,我们依次处理字符串s中的字符: 当处理字符'a'时,由于'a'不在res中,将其添加到res的末尾,此时res=″a″; 当处理字符'c'时,由于'c'不在res中,将其添加到res的末尾,此时res=″ac″; 当处理字符'c'时,由于'c'==res[-1],执行res=res[-1]+res[:len(res)-1],此时res=″ca″; 当处理字符'd'时,由于'd'不在res中,将其添加到res的末尾,此时res=″cad″; 当处理字符'b'时,由于'b'不在res中,将其添加到res的末尾,此时res=″cadb″; 当处理字符'b'时,由于'b'==res[-1],执行res=res[-1]+res[:len(res)-1],此时res=″bcad″; 当处理字符'd'时,由于'd'==res[-1],执行res=res[-1]+res[:len(res)-1],此时res=″dbca″; 当处理字符'c'时,将其添加到res中,此时res=″dbcac″; 当处理字符'a'时,将其添加到res中,此时res=″dbcaca″。 根据题目中给定的程序段逻辑,字符串res最终的结果应该是″dbcaca″。 故本题答案是C选项。 11.B 【详解】本题考查Python变量与表达式相关内容。赋值语句是将等号右边的表达式赋给等号左边的变量。ACD选项正确。B选项,赋值运算符左侧不能是表达式,选项错误。故本题答案是B选项。 12.C 【详解】本题考查Python程序设计相关内容。分析程序段,其功能为找出火柴棍能拼成的最大两位数。方法是可将0--9所需火柴棍数量按照序号组成列表,对于每个两位数(从99逆序至10),分别取出其十位(i//10)和个位(i%10)上的数字,求和,若和<=n,则其满足题目要求,分析4个选项,C选项符合要求。故本题答案是C选项。 13.A 【详解】本题考查Python列表相关内容。两个列表相加,是将两个列表中的元素合并成一个新的列表。故本题答案是A选项。 14.C 【详解】本题主要考查Python程序的执行。key=random.randint(1,9)*2+1,变量key是随机生成[3,19]之间的奇数,分析程序可知,flag为True或key被3整除则执行if语句,执行完flag=not flag,flag初值为True,第一轮循环一定执行if语句,x[i]=key可以被3整除也可以不被3整除;第二轮循环,此时flag=False,x[i]=key一定被3整除,执行完后flag=not flag=True,情况同第一轮循环,依次类推,可知列表x中索引为奇数的值均能被3整除,故列表x值可能的是[7,3,5,15,17],故答案为C选项。 15.C 【详解】本题考查Python运算符与表达式相关内容。A选项,6%3**2=6%9=6,错误;B选项,"110">"12",不成立,错误;C选项,abs(-8)>=len("2023年11月"),结果为:8>=8,正确;D选项,round函数作用是四舍五入取整,round(4.6)结果为5,"he" in "Chinese"结果为False,两者不相等,错误。故本题答案是C选项。 16.C 【详解】本题考查Python运算符与表达式相关内容。A选项,len(["hello"])值为1,不等于5,结果为False,不符合题意;B选项,4/2**3的结果为0.5,0.5<=1成立,结果为True,not(True),结果为False,不符合题意;C选项,3 >= 4结果为False,not (3==2 and 3<=2)结果为True,False or True结果为True,符合题意;D选项,11%2 != 0结果为True,True and False结果为False,不符合题意。故本题答案是C选项。 17.try 和 except 【详解】本题考查Python。在Python中,异常处理通过try和except关键字来实现。try关键字用于定义可能会引发异常的代码块,except关键字用于捕获并处理try代码块中抛出的异常。通过这种方式,可以增强程序的健壮性和容错性,使得程序在遇到异常情况时能够采取适当的措施,而不是直接崩溃。故答案为:try 和 except。 18.3.0 【详解】本题主要考查Python数据类型。float() 函数用于将整数和字符串转换成浮点数,a=3,执行语句print(float(a)),则输出结果为3.0。 19.369 【详解】本题考查的是Python循环语句。初始i=1,sum = a = 3,当输入n值为3时。 i<=3成立,res = res+sum=3, sum=sum*10+a=30+3=33,i=i+1=2; i<=3成立,res = res+sum=36, sum=sum*10+a=330+3=333,i=i+1=3; i<=3成立,res = res+sum=369, sum=sum*10+a=3330+3=3333,i=i+1=4; i<=3不成立,故输出res为369。 20.24 【详解】本题考查Python函数相关内容。该函数功能是计算阶乘(n!)。由s=s*i及range(2,n+1)可知返回值是s=1*2*3*……n,factorial(4)=1*2*3*4=24。故本题答案是:24。 21.set() 【详解】本题考查Python函数相关内容。Python提供了一个内置函数set(),它可以用于创建一个空集合,只需要调用set()函数,不传入任何参数即可。故本题答案是:set()。 22.错误 【详解】本题考查Python基础。 这个说法错误。当你使用内置函数open()以“w”模式打开一个文件时,文件指针默认是指向文件的开头,而不是指向文件尾。 23.错误 【详解】本题考查Python基础。在Python中,变量(如x)实际上是对对象的引用(或指针),而不是对象本身。当你执行x = 3时,x是对整数对象3的引用。整数对象在Python中是不可变的(immutable),这意味着一旦创建,其值就不能改变。然而,当你执行x += 6时,这实际上是一个简写形式,等同于x = x + 6。在这个操作中,x + 6首先会计算出一个新的整数对象(在这个例子中是9),然后x这个变量名会被重新绑定到这个新的整数对象上,这时地址会发生变化。故错误。 24.正确 【详解】本题考查Python函数。input()函数用于从标准输入读取一行,并将其作为字符串返回。无论用户输入什么内容,input()函数返回的值始终是字符串类型。故说法正确。 25.错误 【详解】本题考查Python运算优先级。标准的Python运算符优先级顺序为:幂运算>一元加减运算>乘除取模取整除>加减运算>按位左移右移运算>位与运算>位异或运算>位或运算>比较运算符>布尔运算符>赋值运算符。因此,正确的运算符优先级顺序应为算术运算>关系运算>赋值运算。故说法错误。 26.正确 【详解】本题考查Python变量相关内容。在Python语言中,变量名是区分大小写的,因此变量名Air和air会被视为两个不同的变量。故本题答案是:正确。 27. n-i+1或0,n-i+1或0,n-i+1,1 substr == substr[::-1] cnt=cnt+1 【详解】本题考查Python应用。 (1)本题采用枚举算法,枚举长度为2至n的所有子串,然后再对子串进行回文判断。i表示子串长度,j表示取长度为i的子串时的起始位置,字符串总长度为n,因此j=n-i+1,故①处的代码为n-i+1或0,n-i+1或0,n-i+1,1。故答案为:n-i+1或0,n-i+1或0,n-i+1,1。 (2)substr表示取出的子串,回文子串的判断方法为:若子串substr进行反转操作后与原子串相同,则为回文串,否则不是回文串。将子串substr进行反转操作的代码为substr[::-1],因此②处代码为substr == substr[::-1]。故答案为:substr == substr[::-1]。 (3)程序③处代码的功能统计回文子串的个数,根据下面的print语句,可知回文子串的个数存储在变量cnt中,因此③处代码为cnt=cnt+1。故答案为:cnt=cnt+1。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

第四章 程序设计基础  2024-2025学年高中信息技术粤教版(2019) 必修1
1
第四章 程序设计基础  2024-2025学年高中信息技术粤教版(2019) 必修1
2
第四章 程序设计基础  2024-2025学年高中信息技术粤教版(2019) 必修1
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。