内容正文:
教科版(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页
学科网(北京)股份有限公司
$$