1、优化集训10顺序结构及分支结构的程序实现1.下列“若a大于b则输出a,反之则输出b”的程序设计正确的是()A. a,b=2,4if ab thenprint(a)elseprint(b)B. a,b=2,4if ab:print(a)else:print(b)C. a,b=2,4if abprint(a)elseprint(b)D. a,b=2,4if ab:print(a)else:print(b)2.某Python代码如下,执行后输出的结果是()a=pear,apple,orangen=len(a)ans=10if n%2=0:ans =nelse:ans+=nans-
2、=5print(ans) A.1B.6C.8D.183.如果a,b中任意一个数的值为3的倍数,那么y的值变为原先的2倍,能实现该功能的Python语句是()A.if a%3=0 and b%3=0:y=y 2B.if a%3=0 or b%3=0y=y 2C.if a%3=0 or b%3=0:y=y 2D.if not(a%3!=0) and not(b%3!=0)y=y 24.用Python语言实现“每满100减20,每满200减50,可以累计上不封顶”的优惠金额算法,设
3、s为购买商品的原价,计算优惠金额t,下面选项正确的是()A.t=s/100 20if s/2000:t+=s/200 50B.t=s/200 50if s%200=100:t=t+20C.if s=200:t=s/200 50else:t=s/100 20D.if s=100:t=t/100 20else:t=t/200 505.某共享电单车平台计费规则为:20分钟及以内收起步价2元,超出20分钟后每5分钟按1元计费(不足5分钟按5分钟计算)。现已知骑行时
4、间(单位:分钟)存储在变量t中,骑行费用存储在变量cost中,函数math.ceil(x)表示对x向上取整,则下列程序段无法实现骑行费用计算的是()A.if t=20:cost=2else:cost=2+math.ceil(t-20)/5)B.if t20:cost=2+math.ceil(t-20)/5)C.cost=math.ceil(t/5)if t20:cost+=math.ceil(t-20)/5)6.根据国家质量监督检验检疫局发布的规定,饮酒驾车是指车辆驾驶人员血液中的酒精含量大于或者等于20mg/100mL,小于80mg/100mL的驾驶行为,醉酒驾车是车辆驾驶人员血液中的酒精含
5、量大于或者等于80mg/100mL的驾驶行为。用Python语言描述,设A为血液中酒精含量值(mg/100mL),D为驾驶行为。下列选项中正确的是()A.if A=80:D=醉酒驾车else:D=饮酒驾车B.if A=80:D=醉酒驾车elif A=20:D=饮酒驾车C.if A=20:D=饮酒驾车else:D=醉酒驾车D.if 20=A24:print(偏胖)if 18.5=b=b=18.5:print(正常)elif bb:print(偏瘦)elif 18.5=b=24:print(正常)elif 24b:print(偏胖)D.if 24=bb:print(偏瘦)else:print(偏胖
6、)8.若土壤湿度值v在区间h1,h2内(包括h1和h2本身)返回1,否则返回0,则下列选项中不正确的是()A.if v=h1 or v=h2:return 1else:return 0B.if not(vh2):return 1else:return 0C.if (v-h1) (h2-v)=0:return 1else:return 0D.if h1=v120:print(请重试)else:print(请支付) B.if t1:print(请支付)if t120:print(请重试)C.if t1:print(请支付)elif t120:print(请重试)D.if t1
7、and t150:Z=中度及以上污染elif M100:Z=轻度污染B.if M150:Z=中度及以上污染else:Z=轻度污染C.if M100:Z=轻度污染elif M150:Z=中度及以上污染D.if 100M=150:Z=轻度污染else:Z=中度及以上污染11.模拟一个简易计算器,其功能是:输入两个数和一个运算符(加减乘除),进行算术运算并输出运算结果。请回答下列问题:(1)用Python语言编写的程序如下,请在划线处填入合适的语句或表达式,实现程序功能。a=float(input(输入第一个数:)ch=input(输入运算符:)b=float(input(输入第二个数:)if ch
8、=+:print(a,ch,b,=,a+b)elif ch=-:print(a,ch,b,=,)elif ch= :print(a,ch,b,=,a b)elif ch=/:if:print(a,ch,b,=,a/b)else:print(除数不能为0)else:print(运算符不正确)(2)当输入第一个数为4,输入运算符为“”,输入第二个数为0,程序输出的运算结果是(单选,填字母:A.0/B.4/C.除数不能为零/D.运算符不正确)。优化集训10顺序结构及分支结构的程序实现1.D解析 选项A,在Python语言中if语句的语法格式中并没有then的
9、出现;选项B,if语句的语法格式需要注意语句块的缩进问题,而选项B中的程序缺少缩进,错误;选项C,if语句的语法格式需要注意条件表达式和else后的冒号,而选项C中的程序缺少冒号,错误;选项D,符合if语句的语法格式。2.C解析 本题考查列表及分支语句。ans的初值为10,n为3,因此ans的值为10+3-5=8。故选C。3.B解析 本题考查分支语句。选项B中s在最后赋值为“安静”,则前面的if语句变得毫无用处,故选项B无法实现上述功能。4.C解析 判断a,b的值是否为3的倍数应是判断其整除3的余数是否为0,即关系表达式a%3=0和b%3=0,a,b中任意一个数的值为3的倍数,即用or将两个表
10、达式进行连接,可以排除选项A;y的值变为原先的2倍,即y=y 2,可以排除选项B;选项C符合题目的要求;选项D中不满足a,b中任意一个数的值为3的倍数这一条件,若a为3的倍数而b不是,表达式not(a%3!=0)andnot(b%3!=0)的值为False,且没有满足分支结构的语法格式,缺少冒号。5.B解析 本题考查分支语句及具体问题的分析。根据“每满100减30,每满200减70,可以累计上不封顶”的题意,肯定先凑足200元,因此200的优先级高于100元的,故选B。6.C解析 选项C中,若时间大于20分钟,原表达式错误,因此第一行表达式应该是cost=2+math.ce
11、il(t-20)/5)。故选C。7.B解析 A选项,当A小于20时判定为饮酒驾车,错误;C选项,当A小于20时判定为醉酒驾车,错误;D选项,当A小于20时判定为醉酒驾车,错误。本题B选项正确。8.C解析 本题考查分支结构逻辑表达知识。将三段中的数据(如10、20、30这三个数据)代入if语句测试,可以发现正确结构只有C。9.A解析 本题考查分支结构逻辑表达知识。选项A条件语句中的逻辑关系应该是and,而不是or。选项C的等效表达式是v-h1和h2-v是正负同号的,相当于h1=v=h2,故正确。10.B解析 选项A误解为else是1秒后的情况,但else表示t1时有两种情况都是请支付的状态,但B
12、项是if-if的结构,所以当t120时会执行后面的if语句,对其结果进行修正,故B正确。选项C很容易误解为t1走if,t120走elif。但需要注意的是,当t120时,同样满足if,一旦执行if语句后,就不会再执行elif了,故C错误;选项D考法同A,t1andt=120只规定了请支付的情况,但else既包含120s后的情况,也包含1s前的情况,故D错误。11.A解析 本题考查if语句及逻辑结构。选项B,没有对数据100的判断。选项C,若输入160,也会错误判断为“轻度污染”。选项D,100以下的也会被错误判断为“中度以上污染”。本题正确答案是A。12.(1)a-bb!=0(2)D解析 (1)阅读程序后可知减法,故答案如上。处要求填写一个判断语句的条件,由题意可知,该判断语句用于判断输入的第二个数b是否为0,若不为0则进行除法运算,若为0则输出“除数不能为0”的信息,故处的表达式为b!=0。(2)由于输入的运算符为“”,这个运算符不合题中要求的运算符,因此输出“运算符不正确”的信息,故选D。