2.2做出判断的分支

2024-05-30
| 11页
| 47人阅读
| 0人下载

内容正文:

2.2 做出判断的分支 一、选择题 1.某商场做促销打折活动,消费金额500元以内打8.8折;大于500元(含500元)且小于1000元打8折;1000元以上(含1000元)打7折。小曲使用Python 编写了下面程序,第4行下划线处应填写的代码是(   ) 1 x=float(input(“消费金额:”)) 2 if  x<500: 3     s=x*0.88 4 x<1000: 5     s=x*0.8 6 else: 7     s=x*0.7 8 print(“应付金额为:”,s) A.if B.elif C.else D.while 2.学校举行大合唱比赛,每个班级演唱结束后会有10个评委打分,最终得分的计分规则为:去掉一个最高分,去掉一个最低分,求平均分。 编程Python程序,实现快速计分,代码如下: n=10 scores, maxs, mins=0, 0, 10 for i in range(n):    s=float(input("第"+str(i)+"个评委给分:"))    if maxs < s:       maxs=s    elif mins>s:       mins=s    scores+=s    avg=____________ print("平均分为:"+str(round(avg,2))) 以下关于该程序的说法正确的有(   ) A.将“elif”改为“if”,程序功能不变 B.划线处代码为“(scores-maxs-mins)/n-2” C.倒数第2行代码取消缩进,算法更加优化 D.此程序段只适用于满分不超过10的情况 3.下面的Python代码实现了读入若干非负整数,统计其中奇数个数的功能。要想实现这一功能,应该在空格处填(  )。 li = map(int, input(). split()) cnt=0 for i in li:  if ______ :    cnt+=1 print("奇数有{}个。". format(cnt)) A.i%2==1 B.i%2 C.i//2==1 D.i/2==1 4.“最强大脑”游戏问题的算法分析:显示游戏规则,显示物品以及编号,屏幕停留10秒;随机出题,给出物品,回答编号;判断回答是否正确,如果正确,则答对的题数加1。重复以上步骤,直到答完5道题;显示答对的题数(    ) import random;import time;import os print("你好,现在你有 10 秒钟的时间记忆下列物品及其编号") things=["苹果","香蕉","橙子","梨子","猕猴桃","柚子","猴魁","铁观音","彩蛋","复活节"] for i in range(10): print(i,":", ① );               #在屏幕上显示编号及物品名称 time. sleep(10)                               #延时 10 秒 os. system("cls")                             #清屏幕,隐去编号及物品 n=0                                        #记录答对的题数,初值为 0 t2=random. sample( ② ,5)             #随机抽出 5 个物品 for i in t2:                                   #出 5 题 ans=int(input(i + "的编号是:"))              #输入编号答题 if i== ③ : n=n+1                               #如果回答正确,答对的题数加 1 print(" 你一共答对了",n,"次")                #屏幕显示答对的题数 input(" 按回车键结束程序") A.①things[i]         ②things             ③things[ans] B.①things           ②things             ③things[i] C.①things[i]         ②things[i]           ③things[ans] D.①things[ans]       ②things[ans]        ③things[i] 5.对于不等于0的整数a和b,若表达式a%b==1成立,则表明(   ) A.a与b一定相等 B.a总比b大1 C.a不是负数,b肯定也不是负数 D.a比b的整数倍多1 6.有如下 Python 程序段: import random a= [0]*6 a[0] =random.randint(95,100) for i in range(1,6) :     a[i] = a[i-1]-random.randint(0,5)     if i%2==0 :         a[i] = a[i]+ a[i] % 10 print(a) 执行该程序段后,输出的内容不可能的是 (  ) A.[99,96,98,93,96,96] B.[99,96,97,93,99,96] C.[100,98,106,106,104,103] D.[97,94,98,98,102,100] 7.字符串s='a b\tc',则len(s)的值是(   )。 A.7 B.6 C.5 D.4 8.某Python程序实现的功能是;运行程序输入一个四位整数,能够判断该四位整数是否存在数字重复的位。程序代码如下: n = int(input(“请输入一个四位正整数:”)) f = [0] * 10 while n > 0:    y = n % 10 ①    n=n // 10 if ② :    print(“没有重复的位。”) else:    print(“有重复的位。”) 划线处的代码应填(   ) A.① f[y] = 1        ② sum(f) < 4        #sum()将列表中所有元素求和 B.① f[y] += 1        ② sum(f) < 4 C.① f[y] = 1        ② sum(f) == 4 D.① f[y] += 1        ② sum(f) == 4 9.有如下Python 程序段: n=int(input(  )) s=0;i=1 while i*i<=n:    if i==n//i:       s+=1    elif n%i==0:       s+=2    i+=1 print(s) 若输入"16",该程序段执行后,输出的结果是(  ) A.3 B.4 C.5 D.6 10.python中eval()函数用来执行一个字符串表达式,并返回表达式的值,语句eval('2+4/5')执行后的输出结果是() A.2.8 B.2 C.2+4/5 D.'2+4/5' 11.有如下Python程序段    s="aabbccabc"    st=s[1]    for i in range(1,len(s)):        if len(st)==0 or s[i]!=st[len(st)-1]:            st=st+s[i]        else:            st=st[0:len(st)-1]    print(st)    运行该段代码后,输出结果为(     ) A.abc B.abcabc C.ababc D.aabbc 12.如下Python程序段 x = -2.5 if x > 0 : print (1) elif x == 0 : print (0) else: print( -1) 运行后的结果是(    ) A.-2.5 B.0 C.1 D.-1 13.有如下Python程序段: m=3 1st=[7,3,4,3,1,6,3] for i in range(len(lst) -1): for j in range(len(lst) -1,i,-1): if 1st[j] <1st[j-1]: 1st[j], 1st[j-1] = 1st[j-1], 1st[j]    break 执行该程序段,加框处语句被执行的次数是(    ) A.3 B.4 C.5 D.6 14.程序代码如下: age=float(input(“请输入年龄=”)) HRrest=float(input(“请输入安静心率=”)) gender=input(“请输入male或female:”) n=220 else: n=210 low=(n-age-HRrest)*0.6+HRrest high=(n-age-HRrest)*0.8+HRrest print(“最适宜运动心率是:”,low,”~”,high) 横线上应填入的内容是(    ) A.if gender=male: B.if male==gender: C.if gender==male: D.if gender==”male”: 15.有两个降序序列的链表a,b。现将链表b中的数据合并到链表a,形成一个新的降序序列存于链表a,实现数据合并的代码段如下: a = [[98,1],[96,2],[95,3],[93,4],[90,-1]];b = [[99,1],[97,2],[94,3],[93,4],[92,-1]] head_a = head_b = 0 pre = p = head_a;q = head_b while q!=-1:     if p!=-1 and (1) :         pre=p         p=a[p][1]     else:         a.append( (2) )         if p==head_a:            pre=head_a=len(a)-1        else:           a[pre][1]= (3)           pre=len(a)-1           q=b[q][1] 上述程序段中可选填的语句为: ①a[p][0]>= b[q][0]    ② a[p][0]<= b[q][0]    ③q ④len(a)-1             ⑤[b[p][0],q]           ⑥[b[q][0],p] 则划线处填写的语句依次为:(  ) A.①⑥④ B.①⑤④ C.①⑥③ D.②⑥③ 16.下列变量的命名遵循的规则,不正确的是(   ) A.可以用数字开头 B.区分大小写 C.可以用下划线开头 D.不能使用保留字 17.有如下程序段: 若程序运行后输入20,打印出的score的值为(   ) score = int(input("请输入分数:")) if score > 60:     score += 20 score += 10 print(score) A.60 B.40 C.30 D.20 18.某二分查找算法的Python程序段如下: list1=["Carrot","Celery","Garlic","Lettuce","Mooli","Onion","Potato","Tomato"] key=list1[2] left,right=0,len(list1)-1 c=0 while left<=right: m=(left+right)//2 c=c+1 if list1[m]>key: right=m-1 else: left=m+1 print(list1[left]) 程序执行后,下列说法正确的是(  ) A.变量c的值为4 B.程序输出的结果为Lettuce C.变量left的值为2 D.变量right的值为3 19.在Python循环中,可以使用break语句终止循环,程序将跳出循环,执行循环后的语句,下面代码运行结果是(  ) cnt =0 for i in range(1,6): if  i==4:        break cnt=cnt+1 print(cnt) A.2 B.4 C.3 D.5 20.小明去网吧上网,普通包间3元一小时,高级包间4元一小时,豪华包间6元一小时,他决定用函数计算上网费用,如下: 1   def cost(hour, style): 2      if style=="普通": 3        return hour*3 4      elif style=="高级": 5        return hour*4 6      elif style=="豪华": 7        return hour*6 8      else: 9        return 10 11 函数中的两个参数分别对应的是_________、_________,豪华包间上网2小时的费用是(    ) A.上网时长   包间类型  12 B.包间类型   上网时长  12 C.上网时长   包间类型  8 D.包间类型   上网时长  8 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题主要考查Python多分支结构。Python多分支结构格式是if…elif…else,故划线处填elif,故本题选B选项。 2.ACD 【详解】本题主要考查Python程序的调试。分析程序可知,将“elif”改为“if”,程序功能不变;划线处代码为“(scores-maxs-mins)/(n-2)”;倒数第2行代码取消缩进,该语句只执行一次,因此算法更加优化;此程序段只适用于满分不超过10的情况,故本题选ACD选项。 3.A 【详解】本题主要考查Python分支结构。统计其中奇数个数的功能,故if用来判断i是否为奇数,故填i%2==1,故本题选A选项。 4.A 【详解】本题主要考查Python程序的执行与调试。①在屏幕上显示编号及物品名称,物品保存在things列表中,故此处填things[i]。②sample(list, k)返回一个长度为k新列表,新列表存放list所产生k个随机唯一的元素。故此处填things。③此处判断i与编号ans对应的物品things[ans]是否相等,若是则说明回答正确,变量n递增1,故此处填things[ans],故本题选A选项。 5.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。 6.B 【详解】本题主要考查Python程序的执行与调试。a[0] =random.randint(95,100),a[0]是随机生成95~100之间的整数, 当i等于偶数时,执行 a[i] = a[i]+ a[i] % 10,即除a[0]外索引为偶数的值均为偶数,选项B中a[2]=97不符合,故本题选B选项。 7.C 【详解】本题考查字符串求长度相关知识点 转义符号\与其要转义的字符一起构成一个新字符,故len(s)的值为5(a, ,b,\t,c)。故本题选C选项 8.C 【详解】本题主要考查Python程序的综合应用。用f[y]标记四位整数上y,该数不论出现几次,都赋值为1,即第一空填 f[y] = 1,如果sum(f)==4,说明没有重复的位,反之有重复的位,即第二空填sum(f) == 4,故本题选C选项。 9.C 【详解】本题主要考查Python程序的执行。n=16,s=0,i=1 第一次循环,满足i*i<=n,满足n%i==0,s=s+2=2,i=i+1=2; 第二次循环,满足i*i<=n,满足n%i==0,s=s+2=4,i=i+1=3; 第三次循环,满足i*i<=n,不满足if判断条件,i=i+1=4; 第四次循环,满足i*i<=n,满足i==n//i,s=s+1=5,i=i+1=5,循环结束,输出的结果是5,故本题选C选项。 10.A 【详解】本题主要考查Python函数。eval()函数用来执行一个字符串表达式,并返回表达式的值,2+4/5=2+0.8=2.8,故语句eval('2+4/5')执行后的输出结果是2.8,故本题选A选项。 11.A 【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现将s中相邻不相等的字母依次拼接到变量st中,相等字母跳过,s="aabbccabc",故运行该段代码后,输出结果为abc,故本题选A选项。 12.D 【详解】本题考查的是Python多分支结构。x=-2.5,不满足x > 0,也不满足x = 0,故最后输出为-1。选项D正确。 13.C 【详解】本题主要考查Python程序的执行与调试。len(lst) -1=6,外层循环理论一共要执行6次,即加框处理论上执行6次,但当i=4时,lst已有序,循环结束,因此加框处语句被执行的次数是5。每次循环lst的变化:[1, 7, 3, 4, 3, 3, 6]→[1, 3, 7, 3, 4, 3, 6]→[1, 3, 3, 7, 3, 4, 6]→[1, 3, 3, 3, 7, 4, 6]→[1, 3, 3, 3, 4, 7, 6],故本题选C选项。 14.D 【详解】本题考查的是Python选择语句。由n=220可知输入的是男性,male表示男性是字符串类型必须加上双引号,==表示相等,=表示赋值,故横线上应填入的内容是:if gender==”male”:。选项D正确。 15.A 【详解】本题主要考查Python程序的执行。 (1)由下面代码pre=p,p=a[p][1],即p指向了下一个节点,说明p节点的值大于q节点的值,故此处判断条件是a[p][0]>= b[q][0]。(2)如果不满足if判断条件,说明q节点的值比较大,将b[q][0]加入到列表a中,指针域是p,故填[b[q][0],p]。(3)如果p不等于head_a,此时 pre=head_a=len(a)-1,则更新pre节点的指针域为len(a)-1,q指向下一个节点,继续比较,故本题选A选项。 16.A 【详解】本题考查变量名的命名规则。Python中变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。故选A。 17.C 【详解】本题主要考查Python程序的执行。score=20,不满足if判断条件,执行score=score+10=30,因此打印出的score的值为30,故本题选C选项。 18.B 【详解】本题主要考查二分查找算法及Python程序实现。已知left=0,right=7,key="Garlleftc",第一次查找m=(left+right) //2=3,c=c+1=1,a (3) ="Lettuce",判断list1[m] > key成立,执行right=m-1=2;第二次查找m= (left+right) //2=1, c=c+1=2, a (2)= "Garlleftc",判断list1[m] > key不成立,执行left=m+1=2;第三次查找m= (left+right) //2=2,c=c+1=3,a (2) ="Garlleftc",判断list1[m] > key不成立,执行left=m+1=3;此时left=3,right=2不在满足循环条件,输出list1[3]= "Lettuce",c的值为3,left=3,right=2,故本题选B选项。 19.C 【详解】本题主要考查Python程序的执行。分析程序可知,变量i的范围是从1~5,当i=4时,循环结束,此时cnt的值为3,故本题选C选项。 20.A 【详解】本题主要考查Python分支结构。分析程序可知,hour和style分别表示上网时长和包间类型,豪华包间6元一小时,则豪华包间上网2小时的费用是12元,故本题选A选项。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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