2.2做出判断的分支_第1页
2.2做出判断的分支_第2页
2.2做出判断的分支_第3页
2.2做出判断的分支_第4页
2.2做出判断的分支_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.2做出判断的分支一、选择题1.某商场做促销打折活动,消费金额500元以内打8.8折;大于500元(含500元)且小于1000元打8折;1000元以上(含1000元)打7折。小曲使用Python编写了下面程序,第4行下划线处应填写的代码是(

)1x=float(input(“消费金额:”))2if

x<500:3

s=x*0.884x<1000:5

s=x*0.86else:7

s=x*0.78print(“应付金额为:”,s)A.if B.elif C.else D.while2.学校举行大合唱比赛,每个班级演唱结束后会有10个评委打分,最终得分的计分规则为:去掉一个最高分,去掉一个最低分,求平均分。编程Python程序,实现快速计分,代码如下:n=10scores,maxs,mins=0,0,10foriinrange(n):

s=float(input("第"+str(i)+"个评委给分:"))

ifmaxs<s:

maxs=s

elifmins>s:

mins=s

scores+=s

avg=____________print("平均分为:"+str(round(avg,2)))以下关于该程序的说法正确的有(

)A.将“elif”改为“if”,程序功能不变B.划线处代码为“(scoresmaxsmins)/n2”C.倒数第2行代码取消缩进,算法更加优化D.此程序段只适用于满分不超过10的情况3.下面的Python代码实现了读入若干非负整数,统计其中奇数个数的功能。要想实现这一功能,应该在空格处填()。li=map(int,input().split())cnt=0foriinli:if______:cnt+=1print("奇数有{}个。".format(cnt))A.i%2==1 B.i%2 C.i//2==1 D.i/2==14.“最强大脑”游戏问题的算法分析:显示游戏规则,显示物品以及编号,屏幕停留10秒;随机出题,给出物品,回答编号;判断回答是否正确,如果正确,则答对的题数加1。重复以上步骤,直到答完5道题;显示答对的题数(

)importrandom;importtime;importosprint("你好,现在你有10秒钟的时间记忆下列物品及其编号")things=["苹果","香蕉","橙子","梨子","猕猴桃","柚子","猴魁","铁观音","彩蛋","复活节"]foriinrange(10):print(i,":",①);

#在屏幕上显示编号及物品名称time.sleep(10)

#延时10秒os.system("cls")

#清屏幕,隐去编号及物品n=0

#记录答对的题数,初值为0t2=random.sample(②,5)

#随机抽出5个物品foriint2:

#出5题ans=int(input(i+"的编号是:"))

#输入编号答题ifi==③:n=n+1

#如果回答正确,答对的题数加1print("\n你一共答对了",n,"次")

#屏幕显示答对的题数input("\n按回车键结束程序")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大1C.a不是负数,b肯定也不是负数 D.a比b的整数倍多16.有如下Python程序段:importrandoma=[0]*6a[0]=random.randint(95,100)foriinrange(1,6):

a[i]=a[i1]random.randint(0,5)

ifi%2==0:

a[i]=a[i]+a[i]%10print(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\nb\tc',则len(s)的值是(

)。A.7 B.6 C.5 D.48.某Python程序实现的功能是;运行程序输入一个四位整数,能够判断该四位整数是否存在数字重复的位。程序代码如下:n=int(input(“请输入一个四位正整数:”))f=[0]*10whilen>0:

y=n%10①

n=n//10if②:

print(“没有重复的位。”)else:

print(“有重复的位。”)划线处的代码应填(

)A.①f[y]=1

②sum(f)<4

#sum()将列表中所有元素求和B.①f[y]+=1

②sum(f)<4C.①f[y]=1

②sum(f)==4D.①f[y]+=1

②sum(f)==49.有如下Python程序段:n=int(input())s=0;i=1whilei*i<=n:

ifi==n//i:

s+=1

elifn%i==0:

s+=2

i+=1print(s)若输入"16",该程序段执行后,输出的结果是()A.3 B.4 C.5 D.610.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]

foriinrange(1,len(s)):

iflen(st)==0ors[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.aabbc12.如下Python程序段x=2.5ifx>0:print(1)elifx==0:print(0)else:print(1)运行后的结果是(

)A.2.5 B.0 C.1 D.113.有如下Python程序段:m=31st=[7,3,4,3,1,6,3]foriinrange(len(lst)1):forjinrange(len(lst)1,i,1):if1st[j]<1st[j1]:1st[j],1st[j1]=1st[j1],1st[j]

break执行该程序段,加框处语句被执行的次数是(

)A.3 B.4 C.5 D.614.程序代码如下:age=float(input(“请输入年龄=”))HRrest=float(input(“请输入安静心率=”))gender=input(“请输入male或female:”)n=220else:n=210low=(nageHRrest)*0.6+HRresthigh=(nageHRrest)*0.8+HRrestprint(“最适宜运动心率是:”,low,”~”,high)横线上应填入的内容是(

)A.ifgender=male: B.ifmale==gender:C.ifgender==male: D.ifgender==”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=0pre=p=head_a;q=head_bwhileq!=1:

ifp!=1and(1):

pre=p

p=a[p][1]

else:

a.append((2))

ifp==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("请输入分数:"))ifscore>60:

score+=20score+=10print(score)A.60 B.40 C.30 D.2018.某二分查找算法的Python程序段如下:list1=["Carrot","Celery","Garlic","Lettuce","Mooli","Onion","Potato","Tomato"]key=list1[2]left,right=0,len(list1)-1c=0whileleft<=right:m=(left+right)//2c=c+1iflist1[m]>key:right=m-1else:left=m+1print(list1[left])程序执行后,下列说法正确的是()A.变量c的值为4 B.程序输出的结果为LettuceC.变量left的值为2 D.变量right的值为319.在Python循环中,可以使用break语句终止循环,程序将跳出循环,执行循环后的语句,下面代码运行结果是(

)cnt=0foriinrange(1,6):if

i==4:

breakcnt=cnt+1print(cnt)A.2 B.4 C.3 D.520.小明去网吧上网,普通包间3元一小时,高级包间4元一小时,豪华包间6元一小时,他决定用函数计算上网费用,如下:1

defcost(hour,style):2

ifstyle=="普通":3

returnhour*34

elifstyle=="高级":5

returnhour*46

elifstyle=="豪华":7

returnhour*68

else:9

return1011函数中的两个参数分别对应的是_________、_________,豪华包间上网2小时的费用是(

)A.上网时长

包间类型

12 B.包间类型

上网时长

12C.上网时长

包间类型

8 D.包间类型

上网时长

8参考答案:1.B【详解】本题主要考查Python多分支结构。Python多分支结构格式是if…elif…else,故划线处填elif,故本题选B选项。2.ACD【详解】本题主要考查Python程序的调试。分析程序可知,将“elif”改为“if”,程序功能不变;划线处代码为“(scoresmaxsmins)/(n2)”;倒数第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,\n,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表示男性是字符串类型必须加上双引号,==表示相等,=表示赋值,故横线上应填入的内容是:ifgender==”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_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论