教科版(2019)必修一2.2做出判断的分支同步训练

2024-05-31
| 9页
| 68人阅读
| 0人下载

内容正文:

教科版(2019)必修一2.2做出判断的分支同步训练 一、选择题 1.完全数是指真因子(即除了自身以外的约数)之和等于它本身的自然数。 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 2.某Python程序段代码如下,与该程序段功能等价的是(   )) if x>90:     y=x*0.5 else:     y=x*0.9 A.if x>90:       y=x*0.5     y=x*0.9 B.if x<90:       y=x*0.9     else:       y=x*0.5 C.y=x*0.9     if x>90:         y=x*0.5 D.if x>90:         y=x*0.5     if x<90:         y=x*0.9 A.A B.B C.C D.D 3.以下Python程序段执行后,结果为2,横线处的代码为(    ) def f(list):     m=list[0]     for i in range(1,len(list)):         if________ :             m=list[i]     return m s=[4,5,2,6,5,8] print(f(s)) A.m>list[i] B.m<list[i] C.m==list[i] D.m!=list[i] 4.有如下程序段: m=3;n=7 head=tail=0;ans=0 vis=[0]*10;q=[0]*10 for i in range(n): x=int(input(    )) if (vis[x]==0): ans+=l if(tail-head>=m): vis[q[head]]=0 head+=l q[tail]=x tail+=l vis[x]=l print(ans) 运行该程序段,依次输入x的值:1,2,1,5,4,4,1。则程序运行完成后ans的值是(    ) A.3 B.4 C.5 D.6 5.有如下Python程序 import random def func(n): if n= =l: return 1 elif n= =2: return 2 elif n%2= =1: return 2*func(n-2)+func(n-l) else: return func(n-2)+2*func(n-l) p=random.randint(3, 6) print(func(p)) 执行程序后,输出结果不可能为(    ) A.4 B.10 C.12 D.18 6.下列Python语句正确的是(   ) A.min = x if x<y: else: y B.max =x > y ? x : y C.if (x > y) print x D.while True : pass 7.判断整数x是否奇偶的部分Python 程序段如下:   if x%2==0:        y="even"    else:        y="odd" 下列选项中与上述语句块功能相同的是() A. B. C. D. 8.某同学编写的Python程序,实现的功能是:输入任意整数a和b,判断b的值是否为零,如果不等于0,则输出(a-b)/b的值,否则输出“错误”。对于程序中的错误,描述正确的选项是(    ) 1 a=int(input("a=")) 2 b=int(input("b=")) 3 if   b!=0 4     print(a-b)/b 5 else b=0: 6     print("错误") A.第3行if语句末尾少冒号":" B.第4行print语句少小括号,应调整为 print((a-b)/b) C.第5行的else语句后面不用写"b=0",直接冒号":" D.第6行print语句无需缩进,与上条语句对齐即可 9.下面代码的输出结果是(   ) A.Helloorld B.Hello C.World D.HelloWorld 10.周文设计了如下程序,对班上同学的英语成绩进行判断,周文的英语成绩为84分,输出结果为(   ) score=float(input(“请输入你的成绩:”)) if 100>=score>=85: level=’A’ elif 70<=score<85 level=’B’ elif 60<=score<70 level=’C’ elif score<60 level=’D’ print(“您的成绩等级为:”,level) A.您的成绩等级为:A B.您的成绩等级为:B C.您的成绩等级为:C D.您的成绩等级为:D 11.有以下程序段: x=int (input (“请在键盘上输入第1个数:”)) y=int (input (“请在键盘上输入第2个数:”)) if x>y: print (x) else: print (y) 程序运行后,键盘输入16和24,其输出结果为(   ) A.16 B.8 C.40 D.24 12.如图所示代码,当输入23时,输出结果为:(   ) s= int( input("请输入:") ) if s<5: print("小了") elif s<15: print("还是有点小了") elif s<25: print("差不多") else: print("很好") A.小了 B.很好 C.差不多 D.还是有点小了 13..运行以下程序,输出的结果是(   ) 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 14.有如下Python程序: q=[0]*6 q[0]=1 head=0; tail=1 while tail<len(q)-1:       x=q[head]       if x%2==0:          q[tail]=x/2          tail+=1       else:          q[tail]=x*2          q[tail+1]=x*3          tail+=2       head+=1 程序运行后,tail-head的值为(   ) A.3 B.4 C.5 D.6 15.在Python中,下列程序段执行后,变量s的值是(    ) w=2 h=5 if h>8:    s=w*2 else:    s=w+1 A.1 B.2 C.3 D.4 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.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。 2.C 【详解】本题考查Python分支结构的应用。选项A不论x值是多少,最终执行y=x*0.9;选项B当x=90时,执行y=x*0.5,与题干不符;选项C与题干一致;选项D没有处理x=90的情况,与题干不符。故选C。 3.A 【详解】本题考查Python程序调试。根据输出结果以及列表s可知,函数f(list)用于返回列表list中的最小值,程序运行过程中,首先定义了m的初始值,将m与列表中剩余的每一位元素进行比较,要得到最小值,则判断条件为m>list[i]。故选A。 4.C 【详解】本题考查Python程序的执行与调试。分析程序可知,当vis[x]=0时,ans递增1,当输入x=5时,此时ans=3,又满足tail-head>=m,重置vis[q[head]]=vis[1]=0,因此当输入x=4时,ans=4,最后一个x=1,也会再执行ans+=1,此时ans=5,故选C。 5.C 【详解】本题考查Python程序的执行与调试。p随机生成3、4、5、6,func(3)=2*func(1)+func(2)=4;func(4)=func(2)+2*func(3)=2+2*4=10;func(5)= 2*func(3)+func(4)=2*4+10=18;func(6)= func(4)+2*func(5)=10+2*18=46。故选C。 6.D 【详解】本题考查的是Python语句书写。Python一行语句实现if else。操作语法如下: value_when_true if condition_is_ture else value_when_condition_is_false。故本题应选D。 7.C 【详解】本题考查的是Python选择语句。选项A在x为偶数y="old",与题干给的程序不符;选项B语句格式不对,else后不用写条件表达式;选项Dx为偶数y="old",奇数y="even",与题干给的程序不符。故本题应选C。 8.ABC 【详解】本题考查的是Python选择语句。观察程序可知,第3行if语句末尾少冒号":";第4行print语句少小括号,应调整为 print((a-b)/b);第5行的else语句后面不用写"b=0",直接冒号":"。第6行print语句需要缩进。故本题应选ABC。 9.A 【详解】本题主要考查Python循环结构的应用。分析程序可知,依次取字符串"HelloWorld"中的字符,当取到的字符s是"W"时,跳过本次循环,因此输出的结果是Helloorld,故本题选A选项。 10.B 【详解】本题主要考查Python多分支结构的应用。score=84.0,满足第二个分支条件,因此输出结果为您的成绩等级为:B,故本题选B选项。 11.D 【详解】本题主要考查Python分支结构的应用。x=16,y=24,不满足x>y,输出y的值是24,故本题选D选项。 12.C 【详解】本题主要考查Python多分支结构的应用。s=23,满足第三个分支判断条件s<25,输出结果为:差不多,故本题选C选项。 13.C 【详解】本题主要考查Python分支结构的应用。a=3,b=5,不满足if判断条件,直接输出a和b的值,即3 5,故本题选C选项。 14.A 【详解】本题考查Python程序。首先,初始化队列q为[1,0,0,0,0,0],其中q[0]=1,head=0,tail=1。然后,程序进入循环,开始对队列进行操作。在每次循环迭代中,根据条件,要么将x/2放入队列,要么将x*2和x*3放入队列,然后tail加相应的数量。循环直到tail>=len(q)-1。在第一次循环中,x=1,根据条件将x*2和x*3放入队列,所以队列变为[1,2,3,0,0,0],tail=3,head=1。在第二次循环中,x=2,根据条件将x/2放入队列,队列变为[1,2,3,1,0,0],tail=4,head=2。在第三次循环中,x=3,根据条件将x*2和x*3放入队列,队列变为[1,2,3,1,6,9],tail=6,head=3。第四次循环,不满足循环条件,退出循环,故tail-head的值为3。故答案为A选项。 15.C 【详解】本题考查的是Python选择语句。初始w=2,h=5。不满足h>8,执行s=w+1=2+1=3。故本题应选C。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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