2.2 做出判断的分支 2024-2025学年高中信息技术教科版(2019)必修1

2024-08-17
| 12页
| 551人阅读
| 3人下载

内容正文:

2.2 做出判断的分支2024-2025学年高中信息技术教科版(2019)必修1 一、选择题 1.有如下python程序段: x = input("请输入一个数字字符:") y = input("请输入一个数字字符:") if x > y: x,y = y,x    else:        x,y = x + y,y print(x+y) 该程序段运行后,若输入x的值为 10 ,y的值为 9,则输出结果是(   ) A.1099 B.910 C.28 D.19 2.下列程序的输出结果是(    ) for x in"Python":     if x=="h";          break     else:         print(x,end="") A.Python B.Pyton C.Pyth D.Pyt 3.下列变量的命名遵循的规则,不正确的是(   ) A.可以用数字开头 B.区分大小写 C.可以用下划线开头 D.不能使用保留字 4.在 Python程序设计语言中,if语句属于(  ) A.顺序结构 B.分支结构 C.循环结构 D.流程结构 5.有如下Python程序段: import random a=[0]*6 for i in range(1,6):     tmp=random.randint(5,24)     if tmp%2==0 or i%2==1:         a[i]=a[i-1]+tmp print(a) 运行程序后,数组a的值可能的是(    ) A.[0, 9, 29, 50, 0, 20] B.[8, 20, 44, 62, 86, 109] C.[0, 8, 14, 21, 39, 0] D.[0, 10, 24, 43, 0, 30] 6.列表list1=[i for i in range(1,7)if i %2==0]中有(    )个元素。 A.4 B.2 C.3 D.1 7.阅读下列Python程序段,程序输出结果应为(  ) a,b,c=3,2,3 if a>b and a>c: print(a) if b>a and b>c: print(b) if c>a and c>b: print(c) A.两个3 B.一个3 C.三个3 D.没有任何输出 8.有如下Python代码,输出结果是(   ) A.4  3   . B.5  4  3 C.4  3  1  0 D.5  4  3  1  0 9.某Python程序如下: s=[2,3,4,9,7,8,5] n=len(s) for i in range(n-1): for j in range(n-1,i,-1): if s[j]<s[j-1]: s[j],s[j-1]=s[j-1],s[j] 下列说法正确的是(    ) A.整个加工过程总的交换次数为21 B.该程序段执行后,s的值为[9,8,7,5,4,3,2] C.若s的初始值已有序,则该算法的时间复杂度为O(1) D.每一遍加工中,最小的元素“上浮” 10.有如下对分查找程序段    #列表a存放整数升序数据,代码略    key=int(input())    f=[0]*9    i=0    j=8    while i<=j:        m=(i+j)//2        f[m]=1        if a[m]>key:            j=m-1        else:            i=m+1    print(f)    输入待查找数据,执行该程序段后,下列选项中,列表f的值不可能的是(     ) A.[0, 0, 0, 0, 1, 1, 1, 0, 0] B.[1, 1, 0, 0, 1, 0, 0, 0, 0] C.[0, 1, 0, 0, 1, 0, 1, 0, 0] D.[0, 0, 0, 0, 1, 0, 1, 1, 0] 11.下面是一段程序中的部分代码,其中有(    )处错误。其实现的功能是:输入任意整数a、b,判断b的值是否为零,如果不等于0,则输出(a-b)/b,否则输出“错误”。 A.1 B.2 C.3 D.4 12.小明想要统计一篇英语作文中某些单词出现的次数,他设计了如下算法: #将要统计的单词储存在列表lis中,代码略 wordcount={} #导入作文,分词后储存在列表zw中,代码略 for word in zw: if word in lis: _____①______: wordcount[word]+=1 _____②______: wordcount[word]=1 print(wordcount)   横线处应填入的代码是(    ) A.①if word in wordcount      ②else B.①if word in lis            ②else C.①if wordcount[word]!=1     ②else D.①if wordcount[word]==True  ②elif wordcount[word]==False 13.在Python程序设计语言当中,双分支语句通过使用(    )实现。 A.if B.if...else C.if...elif...else D.case 14.下列 Python 程序段的功能为查找列表a中的最大值。    #为列表a赋值,元素均为整型数据,代码略     (1)    for i in range(1,5):        if a[i]>max:             (2)    print(max)    划线处(1)、(2)的代码分别为(    ) A.max=0  a[i]=max B.max=0  max=a[i] C.max=a[0]  max=a[i] D.max=a[0]  a[i]=max 15.有如下Python程序段: s1="abcdefgh"; s2="0213"; res="" j=0; m=0 for i in range(len(s1)):   k=m+int(s2[j])   res+=s1[k]   j+=1   if j==4: m=4 j=0 该程序段运行后,res的值为(    ) A."acbdacbd" B."acbdegfh" C."acbdefgh" D."abcdefgh" 16.寻找最长无重复数字子串。输入一串仅由0~9组成的数字字符串,找出其中不含有重复字符的最长子串,若有多个长度相同的子串,则输出最后一个。如:输入数字字符串"1231255768",其最长的无重复数字子串有"3125"、"5678",则输出"5678",长度为4。实现该功能的python程序如下: def repeat(s,x,y):#判断字符串s从位置x到y是否有重复字符 #无重复返回True(若x=y,为无重复),有重复返回Flase,代码略。 s1=input("请输入一个数字字符串: ") len=len(s1) left,right,maxlen=0,0,0 while right<len:     if not repeat(s1,left,right): ⑴     else:         if ⑵ :             maxlen=right-left+1             s2=s1[left:right+1] ⑶ print("最长无重复子串为: ",s2,"长度是: ",maxlen) 加框处的可选代码为: ①left+=1            ②right+=1          ③right-=1 ④right-left>maxlen  ⑤right-left+1>=maxlen 为使程序正确运行, 则程序段(1)(2)(3)处代码依次为(  ) A.①④③ B.③⑤① C.②④① D.①⑤② 17.有一组正整数,要求对其中的奇偶数进行交换。交换后偶数在前,奇数在后,并保持相对顺序不变。将划线处的代码补充完整,正确的是(  ) a=[5,10,21,7,24,14,9,11,36,37] n=len(a) ;b=[0]*n num=0;k=0 while k <10:     if   ① :         b[num]=a[k]         num+=1     else: ②     k+=1 for j in range(n-num,n): ③ print(a) A.①a[k]%2==1 ②a[k-num]=a[k] ③a[j]=b[j-n+num] B.①a[k]%2==0 ②b[k-num]=a[k] ③a[j]=b[j+num] C.①a[k]%2==0 ②a[k-num]=a[k] ③a[j]=b[j+num] D.①a[k]%2==1 ②b[k-num]=a[k] ③a[j]=b[j-n+num] 18.某Python程序实现的功能是;运行程序输入一个四位整数,能够判断该四位整数是否存在数字重复的位。程序代码如下: n = int(input(“请输入一个四位正整数:”)) f = [0] * 10 while n > 0:    y = n % 10 ①    n=n // 10 if ② :    print(“没有重复的位。”) else:    print(“有重复的位。”) 划线处的代码应填(   ) A.① f[y] = 1        ② sum(f) < 4        #sum()将列表中所有元素求和 B.① f[y] += 1        ② sum(f) < 4 C.① f[y] = 1        ② sum(f) == 4 D.① f[y] += 1        ② sum(f) == 4 19.有如下python程序段: import random flag=[False]*10 a=[0]*6 i=0 while i<6: a[i]=random. randint (1,9) if not flag[a[i]]: flag[a[i]]=True i+=1 print(a) 该程序执行后,列表 a 的值可能的是(    ) A.[7,1,6,3,2,1] B.[8,9,1,3,0,4] C.[5,7,3,3,8,2] D.[6,3,5,2,4,1] 20.列表lista中存储了若干个人的体重(单位:kg),下列Python程序段的功能是:输入体重key,统计体重不超过key的人数,最后输出统计结果。 lista=[65,55,41,46,55,49,19,45,62,76] count=0 key=int(input("please input key:")) for i in range(0,len(lista)):    if          :       count+=1 print("体重不超过",key,"的人数为:",count) 则程序中划线处的代码应为(  ) A.lista[i]>count B.lista[i]>=key C.lista[i]<key D.lista[i]<=key 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 【详解】本题考查Python程序。如果输入x的值为10,y的值为9,那么if语句条件不满足,因此进入else分支。在else分支中,x和y的值将变为"109"和"9",然后将它们连接在一起,所以最终输出结果是"1099"。故答案为A选项。 2.D 【详解】本题主要考查Python程序的执行。变量x依次取字符串“Python”中的字符,如果x的值是“h”时,则循环结束,否则输出x。该程序实现输出字符串“Python”字符串中字符“h”前的子串,故程序的输出结果是Pyt,故本题选D选项。 3.A 【详解】本题考查变量名的命名规则。Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。故选A。 4.B 【详解】本题主要考查条件语句。if语句属于分支语句 ,for、while属于循环结构,故本题选B选项。 5.A 【详解】本题主要考查Python程序的调试。tmp=random.randint(5,24),tmp是随机生成[5,24]之间的整数,i从1开始,故a[0]=0不变,排除选项B;如果tmp%2==0 or i%2==1,即tmp是偶数的同时i是奇数,则执行 a[i]=a[i-1]+tmp,当i=1时,都会执行a[i]=a[i-1]+tmp,选项A、C、D均符合;当i=2时,如果tmp是偶数,则执行a[i]=a[i-1]+tmp,选项A中,29-9=20满足偶数的条件,选项C中,14-8=6满足偶数的条件,选项D中,24-10=14满足偶数的条件;当i=3时,选项A、C、D均符合;当i=4时,同理i=2的情况,选项A、D中,当tmp是奇数则跳过if,a[4]=0,选项A符合,选项B中,39-21=18,也满足;当i=5时,均满足if判断条件,故a[5]不可能为0,排除选项C,选项D中tmp最大为24,即a[5]最大为24,排除选项D,故本题选A选项。 6.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)。list1=[i for i in range(1,7)if i %2==0]满足if条件的i有2、4、6,即一共有3个元素,故本题选C选项。 7.D 【详解】本题考查Python分支结构。给定变量a、b、c的值分别为3、2、3。首先,第一个条件语句if a>b and a>c不成立,因为a并不大于b和c,所以与该条件相关的print(a)不会执行。接着,第二个条件语句if b>a and b>c也不成立,因为b并不大于a和c,所以与该条件相关的print(b)也不会执行。最后,第三个条件语句if c>a and c>b也不成立,因为c并不大于a和b,所以与该条件相关的print(c)也不会执行。因此,整个程序没有任何输出。故答案为:D。 8.C 【详解】本题主要考查Python程序的执行。分析程序可知,变量i的初值为5,每循环一次递减1,但i=2时,跳过本次循环,故输出结果是4   3   1   0 ,故本题选C选项。 9.D 【详解】本题主要考查排序算法及Python程序实现。分析程序可知,该程序实现升序排序,整个加工过程总的交换次数为5次,分别是5和8、5和7、5和9、7和9、8和9;该程序段执行后,s的值为[2, 3, 4, 5, 7, 8, 9];若s的初始值已有序,但仍要执行循环进行比较,因此该算法的时间复杂度不可能为O(1);每一遍加工中,最小的元素“上浮”,故本题选D选项。 10.C 【详解】本题主要考查对分查找算法。变量m是依次查找的下标索引值,第一次循环,m=4,f[4]=1,根据二叉树查找规则,往后查找只会在m=4的左边或右边进行查找,不会出现选项C中f[1]和f[6]同时为1的情况,故本题选C选项。 11.C 【详解】本题主要考查Python分支结构。if语句后面需要跟冒号,if语句后print语句的格式也不对,else部分即与if判断条件相反,else后面的b=0可省略,一共有3处错误,故本题选C选项。 12.A 【详解】本题主要考查Python程序的执行与调试。①如果word 在 统计的单词列表lis中,同时若该单词word在要统计的列表wordcount中,即已经统计过了,则wordcount[word]递增1,故填if word in wordcount。②如果word不在lis中,即对应else部分,则置wordcount[word]为1,故本题选A选项。 13.B 【详解】本题考查Python分支结构。在Python程序设计语言当中,双分支语句通过使用if...else实现, if...elif...else是多分支结构,故选B。 14.C 【详解】本题主要考查Python程序调试。分析程序可知,初始值将第一个元素a[0]赋给变量max,if判断条件中,如果a[i]>max,则更新max=a[i],故划线处(1)、(2)的代码分别为max=a[0]、 max=a[i],故本题选C选项。 15.B 【详解】本题主要考查Python程序的执行。分析程序,当j==4时,赋值m=4,j=0, 而k=m+int(s2[j]),res+=s1[k],即对s1字符串每4位一处理,而 s2="0213",即每4位中按照索引0、2、1、3的顺序从s1中截取字符,故该程序段运行后,res的值为"acbdegfh",故本题选B选项。 16.D 【详解】本题主要考查Python程序的综合应用。① 如果满足not repeat(s1,left,right),则说明有重复了,则left递增1继续判断,故填left+=1。②由下一行更新了maxlen说明产生了新的最长字串,故if判断条件是right-left+1>=maxlen。③此处右端点right递增1,继续判断,故填right+=1,故选D选项。 17.A 【详解】本题主要考查Python程序的综合应用。要求对其中的奇偶数进行交换。交换后偶数在前,奇数在后。该算法的思想是将偶数保存到列表a中,奇数保存到列表b中,最后再将列表b中的奇数并到列表a中偶数的后面。第一空判断a[k]是否为奇数,即a[k]%2==1。第二空如果a[k]是偶数则保存到列表a前面,即a[k-num]=a[k]。最后再把列表b并到列表a存放到偶数的后面,即a[j]=b[j-n+num],故本题选A选项。 18.C 【详解】本题主要考查Python程序的综合应用。用f[y]标记四位整数上y,该数不论出现几次,都赋值为1,即第一空填 f[y] = 1,如果sum(f)==4,说明没有重复的位,反之有重复的位,即第二空填sum(f) == 4,故本题选C选项。 19.D 【详解】本题考查Python程序的执行与调试。 a[i]=random. randint (1,9),a[i]是随机生成1~9之间的整数,因此排除B选项。由if判断条件可知,列表a中的元素没有重复,排除A、C选项。故选D。 20.D 【详解】本题主要考查Python程序的执行与调试。体重存储在列表lista中,要统计体重不超过key的人数,则if条件为lista[i]<=key,故选项D正确。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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