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

2024-07-09
| 12页
| 36人阅读
| 0人下载

内容正文:

2.2 做出判断的分支 一、选择题 1.有如下Python程序, n=0;s=[1,1,2,2,2,3,1,1,3,3] for i in range(0,len(s)-1):       if s[i]==s[i+1]:           n+=1       else:           n-=1 print(n) 执行以上程序后,变量n的值为(  ) A.0 B.1 C.-1 D.2 2.下列标识符中合法的是(   )。 A.i'm B._ C.3Q D.for 3.假定选拔空军飞行学员时,只有符合身高(T)在165-178cm(含165cm和178cm)、体重(W)在52kg(含52kg)以上条件的学生才有资格报考,则表示该条件的逻辑表达式是(   ) A.T>=165 or T<=178 or W>=52 B.T>=165 &amp; T<=178 or W>=52 C.T>=165 and T<=178 or W>=52 D.T>=165 and T<=178 and W>=52 4.有如下Python自定义函数: def fun(x, i): if x<i: return i elif x%i==0: return x else: return fun(x-i, i+1) 执行语句k=fun(37, 3)后,k的值为(   ) A.5 B.6 C.30 D.34 5.完全数是指真因子(即除了自身以外的约数)之和等于它本身的自然数。 def per_num(x): sum=1#① for i in range(2,x):#② if x % i == 0:#③ sum = sum + i#④ return x == sum print(per_num(6)) 则下列说法正确的是(    ) A.上述程序段有误,应将①处语句更改为“sum=0” B.②处语句可以更改为“for i in range(x,2,-1)” C.③处语句的执行次数比④处语句的执行次数多 D.函数返回值为False 6.用python程序处理图像文件“chenchen.jpg”,该图像颜色位深度为24bit,图像如图所示: 程序代码如下: from PIL import Image import numpy as np import matplotlib.pyplot as plt img=np.array(Image.open("chenchen.jpg").convert("L")) rows,cols=img.shape for i in range(rows): for j in range(cols): if(): img[i,j]=1 else: img[i,j]=0 plt.imshow(img,cmap="gray") plt.show() 下列说法正确的是(    ) A.待处理图像的文件名为“chenchen” B.处理后的图像像素数将增加 C.将加框处语句中的“>”改为“<=”,则处理后的图像中黑白色将互换 D.将加框处语句中128改为188,则处理后图像中的黑色部分将减少 7.有如下 Python 程序段: import random        a=[0]*6 for i in range(6):     x=int(random.random()*10)+1     if i%2==1:         a[i]=2*x+1     elif x%2==0:         a[i]=x//2     else:         a[i]=x-1 print(a) 执行该程序段后,列表 a 中的值可能是 (  ) A.3,11,4,19,2,13 B.3,11,7,9,2,3 C.9,3,1,23,4,17 D.3,3,9,0,19,8 8.请判断如图所示的程序代码,是将三个数(   ) A.从大到小排序 B.都变成最大的数 C.都变成最小的数 D.从小到大排序 9.有如下python程序段: def ds (s, i): if "a" <=s[i]<="z" : s=s[:i]+s[i+1:] elif "0" <=s[i]<="9" : s=s[:i]+str((int(s[i])+6)%10)+s[i+1:] return s s="Yy23mm4";i=0 while i<len(s): s=ds(s, i) i+=1 print(s) 执行上述程序段后,s的值为(    ) A."89mm0" B."Y89m0" C."Y29m0" D."y23m4" 10.在Python中,描述x、y中存在一个小于z的正确的表达式是() A.x<z and y<z B.x<z or y<z C.x+y<z D.x<y<z 11.小美制作了一个简单的Flask程序,其中编写路由和视图的函数如下所示: @app.route(‘/user/<name>’)    #动态路由 def user(name):    return render_template(‘user.html’,name=name) 其中网页文件user.html的部分代码如下: <body> {%if name == ‘admin’%}    <hl>Hello,Boss!</hl> {%else%}    <hl>Hello,{{name|capitalize}}!</hl> {%endif%} </body> 运行程序后,在浏览器输入如下网址:http://127.0.0.1:5000/user/admin,则网页显示的内容是( ) A.Hello,admin! B.Hello,Boss! C.Hello,Admin! D.Hello,boss! 12.下列python代码运行的结果是(    ) def bin(n):    if n==0:       return else:    bin(n//2)    print(n%2,end='') bin(13) A.31 B.1101 C.1011 D.4 13.有如下python程序段: a=[4,5,3,6,7,8,2,9,1] m ,c=1, 1 for i in range(1, len(a)): if a[i]>=a[i-1]: c+=1 m=max(m, c) else: c=1 print (c, m) 则程序执行后,c和m的值分别是(   ) A.1和1 B.1和4 C.2和4 D.3和4 14.列表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 15.如下程序的输出结果为(   ) A.0 B.1 C.True D.False 16.某二分查找算法的Python程序段如下: list1=["Carrot","Celery","Garlic","Lettuce","Mooli","Onion","Potato","Tomato"] key=list1[2] left,right=0,len(list1)-1 c=0 while left<=right: m=(left+right)//2 c=c+1 if list1[m]>key: right=m-1 else: left=m+1 print(list1[left]) 程序执行后,下列说法正确的是(  ) A.变量c的值为4 B.程序输出的结果为Lettuce C.变量left的值为2 D.变量right的值为3 17.下列Python程序段的运行结果是(    ) a=123 b=100 if   a>b: a=a+b else: b=a-b c=a+b print(c) A.323 B.223 C.77 D.-23 18.小明制订了每周英语单词学习计划,本周单词保存在“word.txt”文件中,所有单词如图所示。 他编写了一个 Python 程序,检测学习情况,代码如下: f=open("word.txt","r") line=f.readline() word=[] while line:     temp=line.split()  #将字符串以空格为分隔符号进行分割, 并存储在列表中     for i in temp:         if i[0]=='c' and 'e' in i:             word.append(i)         line=f.readline() print(word) 执行该程序段后,输出的英语单词个数为(  ) A.3 B.4 C.6 D.8 19.现有如下python程序段: for i in range( 6 ):     p.append( int( random() * 10 ) + 1 ) for i in range( 2, 6 ):     if i % 2 == 1 and p[ i ] % 2 == 0:         p[ i ] += p[ i - 1]     elif i % 2 == 0 and p[ i ] % 2 == 1:         p[ i ] -= p[ i - 1] 执行该程序段后,在下列选项中,列表p中的元素值不可能的是() A.1, 2, 3, 4, 7, 2 B.1, 2, 14, -9, -5, 8 C.6, 8, 1, 4, 6, 10 D.6, 4, 14, -7, 3, 8 20..运行以下程序,输出的结果是(   ) a=3;b=5 if(a>b) : t=a a=b b=t print(a, b) A.3 B.5 C.3 5 D.5 3 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题主要考查Python程序的执行。分析程序可知,如果相邻的两个数相等则n递增1,如果不相等则n递减1,s=[1,1,2,2,2,3,1,1,3,3],n初值为0,故n=0+1-1+1+1-1-1+1-1+1=1,故本题选B选项。 2.B 【详解】本题考查标识符命名规则相关的知识点 标识符是由字母、下划线、数字组成,但不能以数字开头,且不能是关键字,不能含有特殊符号。故本题选B选项 3.D 【详解】本题主要考查Python逻辑表达式。逻辑运算符or两边值均为假时值才为假,否则值为真;逻辑运算符and两边值均为真时值才为真,否则值为假,not是取反。只有符合身高(T)在165-178cm(含168cm和178cm)、体重(W)在52kg(含52kg)以上条件的学生才有资格报考,可知逻辑关系是“且”(即and)的关系,故本题选D选项。 4.C 【详解】本题考查Python程序执行与调试。fun(37,3)满足else分支条件,返回fun(34,4);函数fun(34,4)满足else分支条件,返回fun(30,5);函数fun(30,5)满足elif条件,返回x的值是30。故执行语句k=fun(37,3)后,k的值为30。故选C。 5.C 【详解】本题考查Python程序的调试。完全数是指真因子(即除了自身以外的约数)之和等于它本身的自然数。i初值为2,因此①处代码不用更改;“for i in range(x,2,-1)”,i会取到x本身,因此不能将②处语句更改为“for i in range(x,2,-1)”;③处语句每次循环都要判断,因此③处语句的执行次数比④处语句的执行次数多;1+2+3=6,因此函数返回值为True。故选C。 6.C 【详解】本题考查Python程序进行图像处理。待处理图像的文件名为“chenchen.jpg”;处理后的图像像素数不变;将加框处语句中的“>”改为“<=”,则处理后的图像中黑白色将互换;颜色灰度值的范围是0-255,如果 img[i,j]>188,则将188以上像素处理成白色,反之处理成黑色,以188为分界线,而黑色就会偏多,因此将加框处语句中128改为188,则处理后图像中的黑色部分将增多。故选C。 7.A 【详解】本题主要考查Python程序的调试。random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0, x=int(random.random()*10)+1,则x随机生成1~10之间的整数。如果i是奇数,则 a[i]=2*x+1也是奇数,排除选项D;如果i和x是偶数,则a[i]=x//2可能是奇数也可能是偶数;如果i是偶数,x是奇数,则a[i]=x-1是偶数,选项C中a[0]=9不符合题意,选项B中a[2]=7不符合题意,均排除。故本题选A选项。 8.D 【详解】本题主要考查Python分支结构。分析程序可知,该程序实现将三个数进行从小到大排序,故本题选D选项。 9.C 【详解】本题考查Python程序的执行。分析程序,ds函数中,当字符s[i]是小写字母时,则在字符串s中跳过该字母,即删除该字符;当s[i]是数字时,该数字变为int(s[i])+6)%10,即循环后移6个单位。s="Yy23mm4",当i=0时,s=ds(s, i)="Yy23mm4";当i=1时,s=ds(s, i)="Y23mm4";当i=2时,s=ds(s, i)="Y29mm4";当i=3时,s=ds(s, i)="Y23m4";当i=4时,s=ds(s, i)="Y23m0",循环结束。因此执行上述程序段后,s的值为"Y29m0"。故选C。 10.B 【详解】本题主要考查Python表达式。在Python中,描述x、y中存在(用或“or”逻辑连接词)一个小于z的正确的表达式是x<z or y<z,故本题选B选项。 11.B 【详解】本题主要考查Python网络编程。由程序代码可知,在浏览器输入如下网址:http://127.0.0.1:5000/user/admin,满足if条件,故网页显示的内容是Hello,Boss!,故本题选B选项。 12.B 【详解】本题主要考查Python程序的执行。分析程序可知,bin(n)函数实现将十进制数n通过“除权取余、逆序排列”的方法转换为二进制数,因此bin(13)=1101,故本题选B选项。 13.B 【详解】本题主要考查Python程序的执行。m=1,c=1,当i=1时,5>4,c+=1=2,m=max(m, c)=2;当i=2时,3<5,c=1;当i=3时,6>3,c+=1=2,m=max(m, c)=2;当i=4时,7>6,c+=1=3,m=max(m, c)=3;当i=5,8>7,c+=1=4,m=max(m, c)=4;当i=6时,2<8,c=1;当i=7时,9>2,c+=1=2,m=max(m, c)=4;当i=8时,1<9,c=1,循环结束,c和m的值分别是1和4,故本题选B选项。 14.D 【详解】本题主要考查Python程序的执行与调试。体重存储在列表lista中,要统计体重不超过key的人数,则if条件为lista[i]<=key,故选项D正确。 15.D 【详解】本题主要考查Python程序的执行。分析程序可知,isOdd(n)用于判断n的奇偶性,如果是偶数返回True,如果是奇数则返回False。5是奇数,故输出结果是False,故本题选D选项。 16.B 【详解】本题主要考查二分查找算法及Python程序实现。已知left=0,right=7,key="Garlleftc",第一次查找m=(left+right) //2=3,c=c+1=1,a (3) ="Lettuce",判断list1[m] > key成立,执行right=m-1=2;第二次查找m= (left+right) //2=1, c=c+1=2, a (2)= "Garlleftc",判断list1[m] > key不成立,执行left=m+1=2;第三次查找m= (left+right) //2=2,c=c+1=3,a (2) ="Garlleftc",判断list1[m] > key不成立,执行left=m+1=3;此时left=3,right=2不在满足循环条件,输出list1[3]= "Lettuce",c的值为3,left=3,right=2,故本题选B选项。 17.A 【详解】本题主要考查Python程序的执行。a=123,b=100,满足a>b,执行a=a+b=223,再执行c=a+b=223+100=323,故本题选A选项。 18.A 【详解】本题主要考查Python程序的综合应用。分析程序可知,每个单词以“c”开头且该单词中含有字母“e”,则执行word.append(i),满足条件的单词有:creative、cypress、committee,故本题选A选项。 19.BD 【详解】本题主要考查Python程序执行。第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行 p[ i ] -= p[ i - 1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1, 2, 14, -9, -5, 8或6,4, 14, -7, 3, 8,故本题选BD选项。 20.C 【详解】本题主要考查Python分支结构的应用。a=3,b=5,不满足if判断条件,直接输出a和b的值,即3 5,故本题选C选项。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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