资源简介 粤教版 高中信息技术 必修1 第四章单元测试作业学校:___________姓名:___________班级:___________考号:___________一、选择题1.某超市用13位数字标识商品信息,其中8~12位是表示商品名的代码,用字符串变量s存储商品的信息码(例如:s="9787100109796",商品名代码是“10979”),下列Python表达式中能取出商品名代码的是( )A.s[-6:-1] B.s[7:11] C.s[8:12] D.s[7:-2]2.某终端接上温度传感器,将温度读取到变量 a 中,代码如下。while True: a=temperature() if a>33: display.show(Image.SAD) sleep(3000) else: display.show(Image.HAPPY)若温度传感器和主板的连接正常,烧录并运行该代码下列选项中正确的是( )A.热风机加热后,主板 LED 显示“哭脸”图形,3 秒后显示“笑脸”图形B.室温低于33℃时,主板 LED不显示任何图形C.热风机加热后,主板 LED 显示“笑脸”图形,3 秒后显示“哭脸”图形D.室温低于 33℃时,主板 LED 显示“笑脸”3.下列表达式的值为奇数的是( )A.2**3%3 B.int(5.5)C.len("python") D.max([1,2,3,5,8])4.字符串s的值为 'the quick brown fox jumps over a lazy dog',则下列说法正确的是( )A.s[1]的值为't' B.s[-1:-4:-1]的值为'god'C.s[0:2]的值为'the' D.s[: :]的值为''5.现有一段代码如下,现输入“260”和“-123”,运行后输出结果分别是( )x=input("请输入数据")if x[0] =="-": fz=-int(x[:0:-1])else: fz=int(x[: :-1])print(fz)A.062 -32 B.062 -321 C.62 -32 D.62 -3216.有如下 VB 程序段:For i = 1 To Len(Text1.Text) c = Mid(Text1.Text, i, 1)If c >= "0" And c <= "9" Thenx = Val(c)a((x + 1) Mod 10) = a((x + 1) Mod 10) + 1End IfNext is = ""For i = 0 To 9s = s & a(i)Next iText2.Text = s数组元素 a(0) 到 a(9) 的值均为0,执行该程序段后,文本框Text2 显示的内容为“1302000100”。则文本框 Text1 中输入的内容可能是( )A.2020-6-09 B.2020-02-28 C.2020-6-01 D.2019-01-077.哥德巴赫猜想是近代三大数学难题之一,即任一大于2的偶数,都可表示成两个素数之和。采用Python验证100以内哥德巴赫猜想的正确性,则划线处的代码为:( )import mathdef isprime(num):i=2while i<=int (math.sqrt(num)):if num % i==0:return Falsei+=1return Truen=6while n<=100:for j in range(3,int (n/2)):if ____________________:print (n,'=',j, '+',n-j)n+=2A.isprime(j) and isprime(n-j) B.isprime (j) and isprime(j+1)C.isprime(n) and isprime(j) D.isprime(j) and isprime(j-1)8.有如下Python程序段:import randomnum=[]for i in range(0,6):n=random.randint(1,10)num.append(n)for i in range(1,6):if i%2==1 and num[i]>num[i-1] :num[i],num[i-1]=num[i-1],num[i]else:num[i]=num[i]-1print(num)运行后列表中的值可能是( )A.11,1,7,5,4,3 B.5,3,6,4,0,2 C.4,1,7,4,4,0 D.9,8,1,1,5,49.有如下Python程序段:s1=input("请输入字符串:")a=[0]*128for item in s1:ch=ord(item)a[ch]=a[ch]+1s2=""for i in range(len(a)):for j in range(a[i]):s2=s2+chr(i)print(s2)列表a各元素的初始值都为0,s1中输入的内容为“abs54int”。执行该程序后,程序输出的结果中第5个字符为( )A.n B.s C.4 D.i10.在Python中,a=2,b=5,表达式a>b and b>4的值是( )A.1 B.-1 C.True D.False11.某张单据上有一个5位数的编号n,如图所示,其百位数和十位数模糊不清,但是知道 这个5位数是23的倍数。现要设计一个算法,找出所有满足这些条件的5位数,并统计个数。现有Python程序段如下:c=0for i in range(10):for j in range(10):m=25006+sif m%23==0:print(m)c=c+1print(“满足这些条件的5位数总共有:”,c,“个” )画线处应填的代码是( )A.s=i*10+j B.s=i*100+j C.s=i+j*10 D.s=(i*10+j)*1012.在Python中,有以下程序段:s=1for i in range(1,5): s=s*iprint(s,i)该程序段运行后,结果为( )A.24 5 B.120 5 C.24 4 D.120 413.在Python中,以下赋值语句格式不正确的是( )A.x,y=y,z B.x,y=1,2 C.x=y=30 D.x+y=z14.下列Python表达式的值等于56的是( )A.abs(-55)+1 B.ord("A") C.len("55")+1 D.chr(56)15.下列关于Python常用的基本数据类型对应正确的是( )A.Number(列表) B.String(字符串) C.Tuple(字典) D.Sets(元组)16.下列 Python 表达式的值为偶数的是( )A.12*3%5 B.len(“Welcome”)C.int(3.9) D.abs(-8)17.有如下程序段,测试结果为图 11 所示图 11n = int(input("请输入行数:"))if n % 2 == 0: #保证n 的值为奇数n=n-1a=[]for i in range(n):if i<=n//2:b=2*i+1 #当在上半部分的时候else:#当在下半部分的时候 a.append(" "*w+"&"*b)for s in a: print(s)请输入行数:6 & &&&&&&&&&&& &上述程序中划线处可选语句为( )①b=n-2*i+1 ②b=(n-i)*2-1 ③w=(n-b)%2 ④w=(n-b)//2A.①③ B.①④ C.②③ D.②④18.有如下Python程序段 s="aabbccabc" st=s[1] for i in range(1,len(s)): if len(st)==0 or s[i]!=st[len(st)-1]: st=st+s[i] else: st=st[0:len(st)-1] print(st) 运行该段代码后,输出结果为( )A.abc B.abcabc C.ababc D.aabbc19.有如下 python 程序段: n='15867239012' s=0 for x in n: if int(x)%2==0: continue elif s==14: break s+=int(x) print(s) 该程序段执行后,则输出结果为 ( )A.18 B.26 C.14 D.1720.代码print(6+3==8), 运行后输出结果是( )A.6+3==8 B.8 C.True D.False二、填空题21."sun"in "sunday "的值为_______________。22.阅读程序代码,写出运行结果。运行结果是:__________。23..在Python中,(13%3)**2的结果是_______。24.小申同学得到的关于共享单车使用情况的数据文件中,发现有如下图中方框中的数据属于___① 值,可以对此类数据进行处理可用pandas库中的___② 函数。其语句可以为:df.②(subset=[‘bike_id’,’datetime’],keep=’first’,inplace=__③ )。图中圈出数据记录中有__④ 值,识别该值的方法是使用___⑤ 函数,若返回值是Tru13÷500e,则说明此处有缺失值,若要删除缺失值记录可采用的方法是__⑥ 函数。A.drop_ duplicates ( ) B.dropna ( ) C.isnull( ) D.notnull ( )E.重复值 F.缺失值 G.异常值 H.True I.False25.下列程序,运行结果为( )import mathx=16if x<0: y=abs(x)else: y=math.sqrt(x)print(y)三、判断题26.Python程序设计语言属于高级语言。( )27.Python语言中求列表长度可以用len()函数。( )28.循环结构表示程序中各步操作按出现的先后顺序执行。( )29.顺序结构的执行顺序是自上而下依次执行的。( )30.在Python中定义函数的关键字是define。( )31.While循环语句的循环体中必须有改变条件表达式值的语句,否则会形成死循环。 ( )32.如果变量a=5,那么表达式10>a and a<3的结果为False。( )33.在 Python语言环境下,For循环语句中的循环体在书写时需要缩进,且必须缩进四个空格。 ( )34.程序的基本结构有顺序结构、选择结构和循环结构。( )35.Python中“/”表示求余。( )四、操作题36.小明对入栈、出栈规则研究发现, 若有 n 个数字 1,2,3,……,n 按由小到大的顺 序入栈,则出栈序列必须遵循下述原则: 当数字 x 出栈后,则在x后出栈的小于x 的 所有数字必定以降序排列,比x大的数字可以夹杂在该降序序列中。现编写 Python 程 序,按上述原则验证一个随机产生的出栈序列是否可能, 程序运行界面如图所示。(1) 根据题意,若有 7 个数字入栈, 则出栈序列“3→2→5→4→7→1→6”是______ (单选,填字母: A.可能 / B.不可能)(2) 实现上述功能的Python程序代码如下,程序中加框处代码有错,请改正_________。(3)请在划线①②处填入合适代码__________、________。import randomn=int(input('请输入入栈元素的个数:'))data=[i+1 for i in range(n)]random.shuffle(data) #将序列的所有元素随机排序s=” ”for i in range(n):print('随机产生的出栈序列为: '+s[1:])flag=True;i=0while i①for j in range(i+1,n):if data[j]if data[j]x=data[j]else:②#去除最后多余的'→'breaki+=1if flag:print('该出栈序列是可能的!')else:print('该出栈序列是不可能的! ')试卷第1页,共3页试卷第1页,共3页参考答案:1.A【详解】本题主要考查字符串切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。13位数字标识商品信息中,其中8~12位是表示商品名的代码,由于元素下标从0开始,所以截取应该是7-11位,表示为s[7:12]或者为s[-6:-1],故本题选A选项。2.D【详解】本题主要考查Python程序分析。分析程序,室温不高于33℃时,主板 LED显示“笑脸”图形,室温高于33℃时,主板 LED 显示“哭脸”图形,故本题选D选项。3.B【详解】本题主要考查Python表达式的运算。2**3%3=2,int(5.5)=5,len("python")=6,max([1,2,3,5,8])=8,故本题选B选项。4.B【详解】本题主要考查字符串的操作。字符串的下标从0开始,s[1]的值为'h';切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。s[-1:-4:-1]的值为'god',s[0:2]的值为'th',s[: :]的值为 'the quick brown fox jumps over a lazy dog',故本题选B选项。5.D【详解】本题主要考查Python字符串切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。故当输入260时,执行else部分,输出62,输入-123时执行if部分,输出-321,故本题选D选项。6.A【详解】本题考查VB程序段。该VB程序段对Text1中的数字字符进行桶排序,对数字x的排序规则为a((x+1)Mod10)=a((x+1)Mod10)+1。最后在文本框Text2依次输出a(0)~a(9)的值,从输出结果1302000100知,文本框Text1中含有1个9,3个0,2个2,1个6,不包含其余数字,四个选项中,只有A符合要求。7.A【详解】本题主要考查Python程序的调试。isprime(num)用于判断num是否为素数,哥德巴赫猜想是近代三大数学难题之一,即任一大于2的偶数,都可表示成两个素数之和。划线处的代码需要判断j与n-j是否均为素数,若满足if判断条件则输出,故填isprime(j) and isprime(n-j) ,故本题选A选项。8.C【详解】本题主要考查Python程序的综合应用。randint(1,10)的范围是1到10包含1和10的自然数。num列表元素赋值后最大值是10。赋值后没有代码对num列表元素值增大的运算,故选项A有11而错误;由if条件可知奇数下标的元素大于前一个元素时两个元素交换,因此奇数下标对应的元素值小于等于前一个元素值,选项B中最后一个元素值2大于0,选项B错误;选项D中下标为3的元素值是1,下标为2的元素值也是1,if条件不成立执行else部分进行自身减1操作。如果减1之后是1,那么之前应该是2。如果是2if条件就成立,因此选项D矛盾,故本题选C选项。9.D【详解】本题主要考查Python程序的执行。第一个for循环的作用是把输入字符串的每个字符对应的ASCII码作为a数组的索引值,并把对应的数组元素值设置为1。第二个for循环是遍历a数组元素,此循环中的内嵌循环相当于if判断,因为a[i]的值不是0就是1,只有a[i]的值为1时才执行一次s2=s2+chr(i)语句,s2的结果就是按ASCII码顺序把字符串重新排序,故s1中输入的内容为“abs54int”后s2的值为“45abinst”,因此第5个字符是i,故本题选D选项。10.D【详解】本题主要考查Python表达式的运算。逻辑运算符or两边值均为假时值才为假,否则值为真;逻辑运算符and两边值均为真时值才为假,否则值为假。在Pythn中,a=2,b=5,表达式a>b and b>4的值是False,故本题选D选项。11.D【详解】本题主要考查Python程序的调试。分析程序,其百位数和十位数模糊不清,变量m是25006加上该模糊的三位数,该三位数即对应的模糊2位数乘以10,变量i控制高位,变量j控制低位,故划线处应填的代码是s=(i*10+j)*10,故本题选D选项。12.C【详解】本题主要考查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=4,s=s*i=1*1*2*3*4=24,故本题选C选项。13.D【详解】本题主要考查Python表达式。Python赋值语句是将等号右边的式子赋给左边的变量,故格式不正确的是x+y=z,故本题选D选项。14.A【详解】本题考查的是Python函数。abs()是求绝对值;ord()返回对应的 ASCII 数值;len()求长度;chr返回一个对应的字符。abs(-55)+1=56;ord("A")=65;len("55")+1=3;chr(56)="8"。故本题应选A。15.B【详解】本题主要考查Python基本数据类型的描述。Number(数字),list(列表),String(字符串),dict(字典),Tuple(元组),Sets(集合),故本题选B选项。16.D【详解】本题主要考查Python表达式。12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。17.D【详解】本题主要考查Python程序的综合应用。①此处处理下半部分,下半部分n-i是与上半部分i对应,如n=6,i=3,此时b=3进行验证,发现(n-i)*2需要减去1,故第一空填b=(n-i)*2-1。变量w是用来控制符号“&”前面需要的空格数,代入验证,可知第二空填w=(n-b)//2,故本题选D选项。18.A【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现将s中相邻不相等的字母依次拼接到变量st中,相等字母跳过,s="aabbccabc",故运行该段代码后,输出结果为abc,故本题选A选项。19.B【详解】本题主要考查Python程序执行。分析程序,变量x是依次取字符串n中的字符,当int(x)是偶数时跳过本轮循环,若s的值为14则退出循环,其余情况执行s+=int(x),故s=0+1+5+7+3+9+1=26,故本题选B选项。20.D【详解】本题考查表达式。print(6+3==8)输出值为判断等式两边是否相同,显然不相同,输出False。故选项D正确。21.True【详解】本题主要考查Python表达式。字符串sun是字符串sunday的字串,故"sun"in "sunday "的值为True。22.114【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现对列表data中的偶数进行求和赋给变量sum,故sum=sum+i=0+34+78=114,故运行结果是114。23.1【详解】本题主要考查Python表达式的运算。(13%3)**2=1**2=1。24. E A H F C B【详解】本题主要考查Python程序设计。下图中方框中的数据属于重复值,可以对此类数据进行处理可用pandas库中的drop_ duplicates ( ) 函数(去重函数)。其语句可以为:df.drop_ duplicates ( )(subset=[‘bike_id’,’datetime’],keep=’first’,inplace=False )。图中圈出数据记录中有缺失值,识别该值的方法是使用isnull( )函数(判断是否为空函数),若返回值是Tru13÷500e,则说明此处有缺失值,若要删除缺失值记录可采用的方法是dropna ( )函数。25.4.0【详解】本题主要考查Python程序的执行。x=16,不满足if判断条件,执行else部分y=math.sqrt(x)=4.0,故运行结果是4.0。26.正确【详解】本题主要考查Python程序设计语言。Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的高级语言,故表述正确。27.正确【详解】本题主要考查Python函数的应用。Python语言中求列表长度可以用len()函数,表述正确。28.错误【详解】本题主要考查循环结构的描述。顺序结构表示程序中各步操作按出现的先后顺序执行,循环可以多次重复地执行多条语句,故表述错误。29.正确【详解】本题主要考查程序控制结构。顺序结构的执行顺序是自上而下依次执行的,表述正确。30.错误【详解】本题主要考查Python关键字。在Python中定义函数的关键字是def,故表述错误。31.正确【详解】本题考查while循环语句。while循环中如果缺少条件判断,循环会无限制地执行下去,形成死循环,造成电脑内存空间占用,严重时可能造成电脑卡顿甚至死机。故本题判断正确。32.正确【详解】本题考查的是表达式的运算。10>5为真,5<3为假,所以10>5 and 5<3为假,题干描述正确。33.错误【详解】本题考查的是Python中的for语句格式。在 Python语言环境下,For循环语句中的循环体在书写时需要缩进,但不是必须缩进四个空格。故题干中的说法错误。34.正确【详解】本题主要考查程序控制结构。程序的基本结构有顺序结构、选择结构和循环结构,表述正确。35.错误【详解】本题主要考查Python运算符。Python中“%”表示求余,“/”表示除,故表述错误。36. B s+=’ →’+str(data[i]) x=data[i] flag=False【详解】本题主要考查栈数据结构及Python程序的综合应用。(1)根据提干原则:当数字x出栈后,则在x后出栈的小于x的所有数字必定以降序排列,比x大的数字可以夹杂在该降序序列中。3出栈后比3小的2、1是降序排列;当2出栈后比2小的1是降序排序;当5出栈后比5小的4、1是降序排列;当4出栈后比4小的1是降序排列;当7出栈后比7小的1、6没有按降序排列,故该出栈序列不可能,选B选项。(2) 加框处的代码是“s+ = str (data[i]+'→”。输出s变量是用的是s[1 :],结合运行界面应“去掉最后多余的“→”,可知加框处修改为“s+=’ →’+str(data[i])”。(3)①处下边有一行代码“if data[j] < x”, 此行代码之上没有变量x的定义和赋值。python中变量使用前需要赋值声明,由此推断①处和x有关。再结合上下文代码和题意,可知此处填写为x = data [i]。x表示当前比较到的最小值,初始化为出栈的值。最后的if语句会根据flag变量的值判断出栈序列是否可能。整个while语句块中都没有改变flag值的地方,由此推测此处和flag有关。该处属于的else语句块是不可能为出栈序列的情况,同时由break语句可推测此处设置flag设置为False。答案第1页,共2页答案第1页,共2页 展开更多...... 收起↑ 资源预览