内容正文:
2.2 做出判断的分支
一、选择题
1.有如下Python程序段:
def js(s):
c=0
for i in range(len(s)):
if"0"<=s[i]<="9"
c+=1
return c
s=input()
c=js(s) #调用函数
if c==len(s):
print("yes")
else:
print("no")
执行该程序段后,输出结果为“yes”,则变量s的值是( )
A.2024xxjs B.Actionism C.20240623 D.SHA-1
2.如图所示的python程序代码运行后,输出结果是( )
A.0 B.5 C.10 D.15
3.为了保证图书的有效流通,在该图书馆内借书,30天及以内可享受免费,超过规定日期10天及以内,每天需交纳滞还费0.2元,逾期10天以上则每天需交纳滞还费0.5元。下列Python程序段中符合要求的是( )
A.
if day<=30:
pay=0
if day>40:
pay=2+0.5*(day-40)
else:
pay=0.2*(day-30)
B.
if day<=30:
pay=0
elif day<=40:
pay=0.2*(day-30)
else:
pay=2+0. 5*(day-40)
C.
pay=0
if 30<day<=40:
pay=0.2*(day-30)
else:
pay=2+0.5*(day-40)
D.
pay=0
if day>=30:
pay=0.2*(day-30)
elif day>40:
pay=2+0.5*(day-40)
A.A B.B C.C D.D
4.在Python中,表达式not(2*5!=11)的值为( )
A.10 B.11 C.True D.False
5.已知某同学的BMI值存储在变量X中,小蓝编写程序判断该同学的身体状况信息,并保存到变量Y中,则下列程序段无法实现该功能的是( )
A.
Y = "偏瘦"
if X>=18:
Y = "正常"
elif X>24:
Y = "偏胖"
B.
Y="偏胖"
if X<18:
Y = "偏瘦"
elif X<=24:
Y = "正常"
C.
if X>24:
Y = "偏胖"
elif X>=18:
Y = "正常"
else:
Y = "偏瘦"
D.
if 18<=X<=24:
Y = "正常"
else:
Y = "偏瘦"
if X>18:
Y = "偏胖"
A.A B.B C.C D.D
6.对于不等于0的整数a和b,若表达式a%b==1成立,则表明( )
A.a与b一定相等 B.a总比b大1
C.a不是负数,b肯定也不是负数 D.a比b的整数倍多1
7.小东学习了Python程序设计后,编写了计算话费充值优惠的程序如下所示。用户输入充值金额,程序会计算并输出优惠后需要支付的金额。当用户输入充值金额53时,输出结果是( )
1 cz=float(input("请输入充值金额(元):"))
2 if cz<=38:
3 zf=cz
4 elif cz<=50:
5 zf=cz-3
6 elif cz<=100:
6 zf=cz-6
7 else:
8 zf=cz*0.9
9 print(zf)
A.47.0 B.50.0 C.55.0 D.53.0
8.在Python语言中,以下对分支结构的描述不正确的是( )
A.多分支结构可以连用多个else语句来实现
B.分支结构分为单分支结构、双分支结构和多分支结构
C.ifelse语句结构中依然可以嵌套ifelse结构
D.通过判断if条件表达式的值(True或False),决定程序执行的分支
9.小刚用Python编写了一个练习本促销计价小程序(代码如下),如果顾客购买62本练习本,程序会提示付款金额为( )
n=int(input("please input the number:"))
if n< 30:
price =2.0
elif n < 50:
price =1.8
elif n <100:
price =1.6
else:
price=1.5
print("you should pay %.2 f yuan" % (price * n))
A.99.80 B.99.20 C.93.00 D.111.60
10.选择结构程序应用的分支语句是( )
A.if B.for C.while D.print
11.一张纸上有个五位数密码,其中的千位数字和十位数字已经模糊不清,如图所示,已知这个数字是27或者37的倍数。现要设计一个算法,找出所有满足这些条件的5位数,并统计个数。现有Python程序段如下:
count=0
for i inrange(0,10):
for j in range(0,10):
m=20000+i*1000+500+j*10+6
if ① :
count=count+1
print(m)
print("一共找到"+str(count)+"个符合条件的密码!")
划线处应填的代码是( )
A.m//27==0 or m//37==0 B.m%27=0 or m%37=0 C.m%27==0 or m%37==0 D.m%27==0 and m%37==0
12.横线处应该填入的是( )
x=int(input("请输入一个正整数:"))
if_______:
print(x,"是偶数。")
else:
print(x,"是奇数。")
A.x%2==0 B.x%2=0 C.x//2==0 D.x//2=0
13.“洗衣机的洗衣流程”情境问题,洗衣机模拟人洗衣的过程,自动执行洗衣程序,节省了大量的人力,这主要归功于由算法控制的机器设备。某儿童牌洗衣机在最后一道漂洗过程中可将水加热至95℃,能够杀灭金黄色葡萄球菌、大肠埃希氏菌等多种附着在衣物上的细菌,除菌率可达99%以上。下列程序中横线处应该填写( )
n = int(input("请输入洗涤的次数:"))
for i in range(n):
print("第",i,"次洗涤:")
if :
print("加热至95℃")
else:
print("正常水温")
A.i < n B.i == n C.i == n+1 D.i == n-1
14.如图所示程序,循环执行的次数及运行结果是( )
n=18
S=0
for i in range(3,n):
if n%i==0:
S=S+1
print(i,S)
A.9 6 B.16 3 C.17 3 D.17 4
15.周文设计了如下程序,对班上同学的英语成绩进行判断,周文的英语成绩为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
16.定义如下函数:
def f(k):
if k<=3:
print(k)
return
for i in range(1,4):
f(k-i)
return
执行语句f(6),则f(3)被调用的次数为( )
A.1次 B.2次 C.3次 D.4次
二、填空题
17.在编程语言中, 是指在程序执行过程中,根据条件选择执行不同代码块的语句。
18.Python表达式125//3的运算结果是( )
19.编写Python程序时,下列表达式应写成( )
20.Python表达式3+4*5%2**3的运算结果是( )
21.复制以下代码,并在Python中运行该程序,当输入三条边长分别是12、33、41,则运行结果是( ):
a = int(input('请输入第 1 边:'))
b = int(input('请输入第 2 边:'))
c = int(input('请输入第 3 边:'))
if a>0 and b>0 and c>0 and a+b>c and a+c>b and b+c>a:
if a==b==c:
print('等边三角形')
elif a==b or a==c or b==c:
print('等腰三角形')
elif (a**2+b**2==c**2) or (b**2+c**2==a**2) or (a**2+c**2==b**2):
print('直角三角形')
else:
print('普通三角形')
else:
print('不能组成三角形')
三、判断题
22.选择结构也称分支结构,只有判断条件为True时才会分支结构下的条件语句。( )
四、操作题
23.请根据下列程序代码,填写正确的输出结果。
a = 10
b = 15
c = 8
if a>b:
a *= b
a %= c
b = c//a**2
c //= b
print(a)
print(b)
print(c)
输出a的值为 ,输出b的值为 ,输出b的值为 。
24.某商场举行“双十一”促销活动,一次性购物不超过300元的, 打9折优惠; 超过300元的,其中300元部分打9折优惠, 超过300元部分打八折优惠。下面的Python程序, 实现了“根据输入的购物金额,输出打折优惠后的实付金额”,请分析题意完善程序并完成下面的问题.
money=float(input("请输入购物金额: "))
if (1) :
discount=money*0.9
else:
discount= (2)
print("当购物金额为", money."时,其优惠后的金额为:", discount)
完善程序:
【填空】
(1)
【填空】
(2)
【填空】
(3)该程序中, 变量money的数据类型为
【填空】
(4)该程序中用到了 分支选择结构。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查的是自定义函数。自定义函数js是统计字符串s中的数字个数,如果数字个数与字符串的长度相等(即全为数字),则输出“yes”,结合选项可知,只有C选项符合。故选C。
2.C
【详解】本题考查的是Python选择语句。该程序的功能是输出a、b中的最大值,a=5,b=10,故输出10,选C。
3.B
【详解】本题考查的是Python选择语句。选项A中,30天及以内,会执行else分支,不符合题意;选项C中,30天及以内,会执行else分支,不符合题意;选项D中,超过30天一直执行if分支,elif分支不会被执行,不符合题意。故选B。
4.D
【详解】本题考查Python表达式的运算。2*5=10,表达式2*5!=11值为True,not是取反,因此表达式not(2*5!=11)的值为False。故选D。
5.A
【详解】本题考查的是Python分支语句。代入特殊的值,可以快速判断是否能实现算法要求的功能。
A选项,当x=25时,if x>18条件成立,elif不会被执行,会得到Y是正常,不符合要求。
B选项,把x=16,20,25,分别代入,会得到偏瘦,正常,偏胖的正确结果,正确。
C、D选项,同样把x=16,20,25,都能得到正确结果。综上,答案为A。
6.C
【详解】本题考查Python表达式的运算。若a和b相等,则a%b=0,选项A错误。若a=1,b=2,则a%b=1,排除BD选项。若a=1,b=-2,则a%b=-1,因此a不是负数,b肯定也不是负数。故选C。
7.A
【详解】本题考查的是Python多分支语句。输入充值金额53时,不满足 cz<=38,不满足cz<=50,满足cz<=100,执行zf=cz-6=53-6=47。故本题应选A。
8.A
【详解】本题考查的是分支结构。分支结构分为单分支结构、双分支结构和多分支结构;if-else语句结构中依然可以嵌套if-else结构;多分支结构格式是if....elif....else语句;通过判断if条件表达式的值( True或False ),决定程序执行的分支,故本题选A选项。
9.B
【详解】本题主要考查Python分支结构。分析程序可知,如果顾客购买62本练习本,即n=62,执行price=1.6,输出 price*n=1.6*62=99.20,故本题选B选项。
10.A
【详解】本题程序设计语言相关内容。选择结构程序应用的分支语句是if,故本题应选A。
11.C
【详解】本题考查Python程序执行与调试。已知这个数字是27或者37的倍数,可以通过余数是否为0进行判断,and是且关系,or是或关系,因此①处判断条件是m%27==0 or m%37==0。故选C。
12.A
【详解】本题考查Python分支结构的应用。判断x是否是偶数,可以将其对2取余,若余数为0则为偶数反之为奇数,即填x%2==0。故选A。
13.D
【详解】本题考查的是Python循环与选择结构。 range(n)生成的是0~n-1整数序列。在最后一道漂洗过程中可将水加热至95℃,故横线处应该填写:i==n-1,故本题应选D。
14.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的范围是3~17,n=18,如果满足if判断条件n%i==0,则S递增1,满足条件的i有3、6、9,因此循环执行的次数及运行结果是17和3,故选C。
15.B
【详解】本题主要考查Python多分支结构的应用。score=84.0,满足第二个分支条件,因此输出结果为您的成绩等级为:B,故本题选B选项。
16.D
【详解】本题主要考查Python程序调试。分析程序,在f(6)中for循环中会执行f(5)、f(4)、f(3);而在f(5)中for循环中又会执行f(4)、f(3)、f(2);而在f(4)中for循环中又会执行f(3)、f(2)、f(1),因为有两个f(4),因此f(3)被调用的次数为1+1+2=4次,故本题选D选项。
17.条件语句或选择结构
【详解】本题考查分支结构。在编程语言中,条件语句或选择结构用于在程序执行时,依据给定的条件来决定执行不同的代码块。条件语句通过对条件的判断,若条件为真(成立)则执行相应的代码块,若条件为假(不成立)则执行另外的代码块或者不执行任何操作。常见的条件语句有if语句、if-else语句、switch语句等。通过条件语句,可以使程序根据不同的情况做出不同的响应和处理,增加了程序的灵活性和逻辑性。故答案为:条件语句或选择结构。
18.41
【详解】本题考查Python表达式的运算。//是整除运算符,因此125//3=41。
19. x=(a-b)/(2*a)
【详解】本题主要考查Python表达式的运算。编写Python程序时,乘运算符是*,因此该表达式应写成x=(a-b)/(2*a)。
20.7
【详解】本题考查Python运算符与表达式相关内容。3+4*5%2**3-->3+20%8-->3+4-->7。故本题答案是:7。
21.普通三角形
【详解】本题考查的是Python多分支语句。当输入三条边长分别是12、33、41,满足任意两边大于第三边,不满足a==b==c,不满足a==b or a==c or b==c,也不满足(a**2+b**2==c**2) or (b**2+c**2==a**2) or (a**2+c**2==b**2),故执行print('普通三角形')。故运行结果是:普通三角形。
22.错误
【详解】本题考查的是选择结构。选择结构也称分支结构,根据条件是否成立选择不同的分支执行。故题干中说法错误。
23. 2 2 4
【详解】本题考查的是Python选择语句。a = 10,b = 15,c = 8,a>b不满足,跳过a *= b,a %= c等价于a=a%c=10%8=2,b = c//a**2=8//2**2=8//4=2,c//= b等价于c = c//b=8//2=4。故最后输出a的值为2,输出b的值为2,输出b的值为4。
24. money<300 (money-300)*0.8+270 浮点型 双
【详解】本题考查的是Python分支语句。
(1)由discount=money*0.9可知判断条件是打九折。故此处为:money<300。
(2)超过300元的,其中300元部分打9折优惠, 超过300元部分打八折优惠。故此处为:(money-300)*0.8+270 或其它等价答案。
(3)由 discount=money*0.9可知变量money的数据类型为浮点型(float)。
(4)if……else格式是双分支选择结构。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$