内容正文:
2.2 做出判断的分支
一、选择题
1.若x是一个整型变量,则判断它是否为5的倍数的Python关系表达式是( )
A.x % 5 == 0 B.x / 5 == 0 C.x \ 5 = =0 D.Int(x / 5) == 0
2.以下Python程序段执行后,输出结果为( )
m=28
if m%3!=0:
print(m,"不能被3整除")
else:
print(m,"能被3整除")
A.m不能被3整除 B.m能被3整除 C.28能被3整除 D.28不能被3整除
3.下列伪代码中体现出来的程序算法结构是( )
A.顺序结构 B.循环结构 C.选择结构 D.三种结构都有
4.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是( )
A.(x%10)*10+x//10 B.(x%10)//10+x//10 C.(x/10)%10+x//10 D.(x%10)*10+x%10
5.下列变量的命名遵循的规则,不正确的是( )
A.可以用数字开头 B.区分大小写 C.可以用下划线开头 D.不能使用保留字
6.在Python中,表达式int(x/2)==x/2的作用是( )
A.用于测试x是否为偶数 B.返回一个非整数
C.返回一个奇数 D.用于测试x是否为素数
7.if语句的格式正确的是( )
A. B. C. D.
8.小东学习了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
9.某影院开展团队优惠售票,购买10张以上八折优惠, 购买20张以上七折优惠,购买30张以上六折优惠。针对优惠策略编写程序最适合的程序结构是( )
A.顺序结构 B.选择结构 C.赋值结构 D.循环结构
10.有如下 python 程序段:
#数组d长度为100,d[0]~d[5]赋初值“6,4,5,7,12,8”,代码略
head=0;tail=6;flag=True
while head!=tail:
if d[head]>3:
if flag and d[head]%2==0:
d[tail]=d[head]//2
else:
d[tail]=d[head]//2-1
tail+=1
head=head+1
flag=not flag
执行该程序段后,变量head的值为( )
A.9 B.10 C.11 D.13
11.有如下 Python 程序:
print("输入两个正整数")
n = int(input("输入正整数 1:"))
m = int(input("输入正整数 2:"))
min = 0
if m > n:
min = n
else:
min = m
for i in range(min,0,-1):
if n % i == 0 and m % i == 0:
print(i)
break
分别输入 200、98,程序运行后,输出结果正确的是( )
A.1 B.2 C.3 D.4
12.某Python程序如下:
s="Dijob 2023"
s1=""
for i in range(0,len(s)):
c=s[i]
if"a"<=c<="z" or "A"<=c<="Z":
s1=s1+chr(ord(c)-1)
else:
s1=c+s1
print(s1)
程序运行后,输出的结果是( )
A.China 2023 B.3202 China C.2023 China D.China 3202
13.在程序设计当中,主要使用( )来实现判断和选择。
A.顺序结构 B.选择结构 C.循环结构 D.判断结构
14.在Python程序设计语言当中,双分支语句通过使用( )实现。
A.if B.if...else C.if...elif...else D.case
15.下列程序的功能是( )
if a>b:
print(a)
else:
print(b)
A.输出a,b中较大的数 B.输出a,b中较小的数
C.输出a,b的差 D.输出a,b的和
16..运行以下程序,输出的结果是( )
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
17.有如下程序段:
a,b=4,3
if a>=4:
if b<2:
a=a+2
if b>2:
a=a+3
a=a+2
elif a>=9:
a=a+4
else:
a=a+b
运行该程序段后变量 a 的值为( )
A.9 B.13 C.16 D.8
二、填空题
18.在计算机编程中, 是一种用于实现条件执行的语句结构,它允许根据不同的条件执行不同的代码块。
19.Python逻辑表达式5<3 and 3==10%7的运算结果是( )
20.Python表达式3+4*5%2**3的运算结果是( )
21.a=3,执行语句print (float(a)),则输出结果为( )
22.复制以下代码,并在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('不能组成三角形')
23.以下Python程序运行后,当输入20时,输出结果是 。
三、判断题
24.选择结构也称分支结构,只有判断条件为True时才会分支结构下的条件语句。( )
四、操作题
25.某商场对所有商品按价格升序排序,按相同价格划分成一段的方式,将数据分割成若干段,对每段数据进行压缩,最后存储为一个数字序列,压缩规则如下:
①使用两个整数 x,y 对一段连续相同的价格数据进行压缩。其中 x 为当前段表示的商品的价格较前一段商品的价格的增值(若为第 1 段,则 x 为第 1 段的价格数据),y 表示当前段的数据个数(其中 0≤x,y≤1000,且均为正整数)。
②将各段价格数据压缩的结果通过“,”连接。
例如,各商品价格为“1,1,3,3,3,5,8,9,9,9,9,10”,先将连续相同的各段数据进行压缩,然后连接各段压缩的结果,如图所示。
(1)已知升序的商品价格数据为“2,2,2,5,5,7,7,7,7,”,则压缩结果为 。
(2)根据上述压缩算法,设计一个对应的解压缩程序,用于求解压缩前的价格数据,其 Python代码如下,请在划线处填入合适的代码。
s=input() #输入待解压的字符串
a=[0]*1000 #用于存储各商品的价格
f=False ; tmp=0 ; k=1
for i in range(len(s)):
if "0"<=s[i]<="9":
tmp= #①
else:
if f==False:
a[k]=a[k-1]+tmp
k+=1
else:
for j in range(tmp-1):
#②
k+=1
f= #③
tmp=0
print(a[1:k])
(3)现有 m 元资金,希望从商场中购买两个商品,请根据上题中求解的商品价格(升序),统计使用现有资金能购买两个商品的方案数,实现上述功能的 Python 代码如下。
m=int(input()) #输入现有的资金数量
ans=0
i=1 ; j=k-1
while i<j:
if a[i]+a[j]>m:
j-=1
else:
i+=1
________
print(ans)
划线处应填入的代码是 。
26.视频营业厅。“视频营业厅”是基于5G、人工智能、活体检测、云存储等技术,将实时互动视频场景与银行业务办理系统进行有效结合,通过在线视频双录的模式,为客户提供“面对面”的金融服务,既消除了网点与客户的物理距离,又能通过人工服务的方式,解决一些客服机器人所无法解决的问题。
(1)手机银行安全认证方式中声纹识别、人脸识别、指纹识别都属于人工智能技术吗? (填“是”或“否”)
(2)判断登录用户名与密码是否正确的算法结构是 结构。
(3)“视频营业厅”将在线录制的视频数据进行云存储,这体现了信息系统的① 功能。银行可以通过营业厅客户端回放业务视频,这种模式属于② 。
A、处理 B、输出 C、存储 D、控制 E、C/S F、B/S G、P2P
(4)高速率的5G通信技术,为“面对面”的线上金融业务提供了保障。速率是计算机网络的重要性能指标,下列属于速率单位的是( )
A、比特每秒 B、字节每秒 C、比特 D、字节
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题考查的是Python表达式。判断它是否为5的倍数,即x是否能被5整除,即x除以5的余数为0,%是取余运算符,故判断变量x是否能被5整除的Python语言表达式为:x%5==0。故选A。
2.D
【详解】本题考查Python程序设计相关内容。m=28,执行m%3,结果为1,不等于0,输出:28不能被3整除。故选D。
3.C
【详解】本题考查程序结构。这段伪代码中,根据年龄的不同情况进行判断,选择执行不同的输出语句,这体现了选择结构(也叫分支结构),而整个过程是依次按条件判断执行,没有循环过程,也不存在先执行后面的语句再回头执行前面语句的情况,所以主要体现的是选择结构,答案选C。
4.A
【详解】本题考查Python表达式相关内容。以x=13为例分析四个选项:A选项,(x%10)*10+x//10-->3*10+1-->31。B选项,(x%10)//10+x//10-->3//10+1-->0+1-->1。C选项,(x/10)%10+x//10-->1.3%10+1-->2.3。D选项,(x%10)*10+x%10-->3*10+3-->33。A选项可以将这个两位数的个位数字和十位数字交换位置,故本题答案是A选项。
5.A
【详解】本题考查变量名的命名规则。Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。故选A。
6.A
【详解】本题考查Python表达式。 int() 函数用于将一个字符串或数字转换为整型,/是除运算符,因此在Python中,表达式int(x/2)==x/2的作用是用于测试x是否为偶数。故选A。
7.D
【详解】本题考查的是Python的选择语句。选择语句格式如下:
if 条件:
语句
else:
语句
故本题应选D。
8.A
【详解】本题考查的是Python多分支语句。输入充值金额53时,不满足 cz<=38,不满足cz<=50,满足cz<=100,执行zf=cz-6=53-6=47。故本题应选A。
9.B
【详解】本题考查的是程序结构。算法的基本结构有:顺序、选择(分支)、循环结构。顺序的执行顺序是自上而下,依次执行;选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程;循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。针对优惠策略编写程序最适合的程序结构是选择结构,故选B。
10.D
【详解】本题考查Python程序执行与调试。
第一遍循环,满足if条件,d[6]= d[head]//2=3,tail=7,head=1,flag=False;
第二遍循环,满足else条件,d[7]= d[head]//2-1=1,tail=8,head=2,flag=True;
第三遍循环,满足else条件,d[8]= d[head]//2-1=1,tail=9,head=3,flag=False;
第四遍循环,满足else条件,d[9]= d[head]//2-1=2,tail=10,head=4,flag=True;
第五遍循环,满足if条件,d[10]= d[head]//2=6,tail=11,head=5,flag=False;
第六遍循环,满足else条件,d[11]= d[head]//2-1=3,tail=12,head=6,flag=True;
第七~十遍循环,不满足d[head]>3,此时head=10,flag=True;
第十一遍循环,满足if条件,d[12]= d[head]//2=3,tail=13,head=11,flag=False;
第十二、十三遍循环,不满足d[head]>3,此时head=13,flag=False;此时head=tail,循环结束,head值为13。故选D。
11.B
【详解】本题考查Python程序的执行与调试。输入n=200,m=98,m<n,min=m=98,通过for循环寻找m和n的第一个公共因子i,i的取值范围是98~1,第一个公共因子i是2。故选B。
12.B
【详解】本题考查Python程序执行。分析程序,依次遍历字符串s,如果遇到字母,则前移一位并追加到变量s1的尾部;如果遇到数字则插入到s1的前面。s="Dijob 2023",因此输出的结果是3202 China。故选B。
13.B
【详解】本题考查选择结构的描述。在程序设计当中,主要使用选择结构来实现判断和选择。故选B。
【点睛】
14.B
【详解】本题考查Python分支结构。在Python程序设计语言当中,双分支语句通过使用if...else实现, if...elif...else是多分支结构,故选B。
15.A
【详解】本题考查Python分支结构的应用。分析程序可知,该程序实现的功能是输出a,b中较大的数,故选A。
16.C
【详解】本题主要考查Python分支结构的应用。a=3,b=5,不满足if判断条件,直接输出a和b的值,即3 5,故本题选C选项。
17.A
【详解】本题考查Python程序。初始条件是:a=4,b=3。第一个条件是 a >= 4,这是满足的,所以进入第一个条件分支。在第一个条件分支中,有两个嵌套的条件:if b < 2 不成立,因为b=3,所以不执行这个条件下的语句。if b > 2 成立,因为b=3,所以执行 a=a+3,a变成7。最后,执行 a=a+2,a变成9。所以,最终程序运行后,变量a的值为9。故答案为A选项。
18.条件语句(或if-else语句)
【详解】本题考查条件语句。条件语句(或if-else语句)是一种用于实现条件执行的语句结构,它允许根据不同的条件执行不同的代码块。通过条件语句,程序可以根据某个布尔表达式的结果(真或假)来决定执行哪一段代码,从而实现程序的分支和逻辑控制。故答案为:条件语句(或if-else语句)。
19.False
【详解】本题考查Python表达式的运算。逻辑运算符and两边值均为真时值才为真,否则值为假。5<3→False,10%7=3,因此逻辑表达式5<3 and 3==10%7的运算结果是False。
20.7
【详解】本题考查Python运算符与表达式相关内容。3+4*5%2**3-->3+20%8-->3+4-->7。故本题答案是:7。
21.3.0
【详解】本题主要考查Python数据类型。float() 函数用于将整数和字符串转换成浮点数,a=3,执行语句print(float(a)),则输出结果为3.0。
22.普通三角形
【详解】本题考查的是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('普通三角形')。故运行结果是:普通三角形。
23.20
【详解】本题考查的是Python选择语句。当输入20时,x=20,满足x%5==0,执行print(x),故输出20。
24.错误
【详解】本题考查的是选择结构。选择结构也称分支结构,根据条件是否成立选择不同的分支执行。故题干中说法错误。
25. 2,3,3,2,2,4 tmp = tmp*10+ord(s[i])-ord('0') a[k] = a[k - j - 1] f = not f ans += j - i 或 ans = ans + j - i 或 ans += len(a[i:j])
【详解】本题考查Python综合应用。
(1)已知升序的商品价格数据为“2,2,2,5,5,7,7,7,7,”,要对这些数据进行压缩,按照题目中给出的压缩规则,即连续相同的价格数据作为一段进行压缩。第一段是连续的三个价格为2的数据,增值为当前段表示的商品的价格较前一段商品的价格的增值,因为这是第一段数据,所以增值就是第一段的价格,为2,数量为3。第二段是连续的两个价格为5的数据,增值为当前段表示的商品的价格较前一段商品的价格的增值,即5-2=3,数量为2。第三段是连续的四个价格为7的数据,增值为当前段表示的商品的价格较前一段商品的价格的增值,即7-5=2,数量为4。所以,压缩结果为2,3,3,2,2,4。故答案为:2,3,3,2,2,4。
(2)在第一个空中,我们需要提取出连续相同的价格数据的增值x或数量y。因为在压缩字符串中,数字是连续的,所以我们需要将这些数字拼接成一个完整的数字,而不是简单地逐个读取。因此,我们需要利用循环读取数字字符,并将它们组合成一个整数。故答案为:tmp=tmp*10+ord(s[i])-ord('0')。在第二个空中,这个位置的代码是用来更新商品价格的。根据压缩规则,当前段的价格是前一段价格加上增值。因此,正确的代码是将当前段的价格更新为前一段价格加上增值。故答案为:a[k]=a[k-j-1]。在第三个空中,这个位置的代码是用来切换当前段的增值的符号。根据压缩规则,每个段的第一个数字表示当前段的价格相对于前一段的增值,因此需要在遍历压缩字符串时切换增值的符号。因此,正确的代码是将 f 的值取反。故答案为:f=not f。
(3)在这段代码中,我们需要统计使用现有资金能购买两个商品的方案数。我们可以使用双指针法来实现这个功能,具体步骤如下:初始化两个指针i和j,分别指向价格数组a的开头和结尾。在循环中,我们不断尝试将两个指针指向的商品价格相加,并与现有资金进行比较。如果价格之和大于现有资金,则将j指针向左移动一位,使得价格之和减小。如果价格之和小于等于现有资金,则将i指针向右移动一位,增加一种购买方案数。因此,我们可以在空白处填入ans+=j-i,表示将符合条件的方案数加到答案中。这个表达式的含义是:当i指针指向的商品价格与j指针指向的商品价格之和小于等于现有资金时,存在j-i种购买方案,因为对于每一个满足条件的i,都有j-i种方案与之对应。故答案为:ans+=j-i或ans=ans+j-i或ans+=len(a[i:j])。
26. 是 分支 C E A
【详解】本题考查人工智能技术、算法结构、信息系统等知识。
(1)声纹识别、人脸识别、指纹识别等属于生物特征识别技术,这些技术通常涉及到人工智能领域,因为它们需要使用算法和模型来识别和验证个体的生物特征。故答案为:是。
(2)判断登录用户名与密码是否正确通常涉及到分支结构,即根据用户输入的用户名和密码进行条件判断,如果正确则执行登录操作,否则执行错误提示。故答案为:分支。
(3)将在线录制的视频数据进行云存储,是信息系统的存储功能,即将数据保存在云端,便于随时访问和管理。营业厅客户端回放业务视频是一种客户端/服务器模式,其中客户端通过与服务器交互实现视频回放功能。故答案为:C、E。
(4)速率通常以比特每秒(bps)为单位,因此正确答案是比特每秒。故答案为:A。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$