2.2 做出判断的分支 同步练习(含答案)-高中信息技术教科版(2019)必修1

资源下载
  1. 二一教育资源

2.2 做出判断的分支 同步练习(含答案)-高中信息技术教科版(2019)必修1

资源简介

2.2 做出判断的分支(同步练习)-高中信息技术教科版(2019)必修1
一、选择题
1.某影院开展团队优惠售票,购买10张以上八折优惠, 购买20张以上七折优惠,购买30张以上六折优惠。针对优惠策略编写程序最适合的程序结构是( )
A.顺序结构 B.选择结构 C.赋值结构 D.循环结构
2.某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
3.有如下Python程序段:
s="2023hz923yy108!"
sum=t=0
for i in s:
if "0"<=i<="9":
t=t*10+int(i)
else:
sum+=t
t=0
print(sum)
执行该程序段后,变量sum的值为( )
A.2023 B.2946 C.2131 D.3054
4.横线处应该填入的是( )
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
5.运行以下程序,键盘依次输入16和30,其输出结果为( )
A.16 B.30 C.14 D.46
6.有如下Python程序段:
# 输入3个整数分别存储到变量a、b、c中,代码略
if a > b and a > c:
maxn = a
elif b > a and b > c:
maxn = b
elif c > a and c > b:
maxn = c
print("a,b,c的最大值为:", maxn)
执行该程序段,输入下列4组测试数据,无法正确输出a、b、c的最大值的是( )
A.10,20,30 B.20,30,10 C.30,10,10 D.10,10,10
7.一张纸上有个五位数密码,其中的千位数字和十位数字已经模糊不清,如图所示,已知这个数字是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
8.欣欣买了一个智能音箱,在调试过程中,每当她说:“天猫精灵,我回来了”,音箱会自动播放她喜欢的音乐;欣欣还可以通过天猫精灵发出指令,控制扫地机器人为她打扫房间、控制房间灯的开关等等。当欣欣说“天猫精灵,我回来了”,音箱自动播放她喜欢的音乐。实现此功能用到的算法结构是( )结构。
A.循环结构 B.分支(选择)结构 C.顺序结构 D.自定义函数
9.有如下Python程序段,运行该程序段后变量a的值为( )
a=4;b=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.13 B.9 C.16 D.8
10.现有一段代码如下,现输入“260”和“-123”,运行后输出结果分别是( )
x=input("请输入数据")
if x[0]=="-":
fz=-int(x[:0:-1])
else:
fz=int(x[::-1])
print(fz)
A.062 -32 B.62 321 C.62 -32 D.62 -321
二、填空题
11.有如下程序段:
list1=[“an”,”alpha”,”around”,”bee”,”back”,”cake”]
leng=len(list1) #len( )函数用来计算列表长度
if leng>6:
z=list[0]
else :
z=list[leng-1]
print(z)
程序执行后,输出的结果为: ________________。
三、操作题
12.某年级2022年宪法知识挑战情况的相关数据存储在“宪法知识挑战.xlsx”中,挑战赛共10题,每题10分,满分100分。部分成绩数据如图1所示。编写Python程序对数据进行处理,要求:
计算参赛总人数与总平均分,输出结果如图2;
根据学生成绩设置其对应的荣誉勋章,100分为金牌,90分为银牌,80分为铜牌,其它成绩删除。
统计各班获得勋章的人数,将班级按获得勋章人数降序排序,形成柱形图,如图3。
(1)根据要求补充划线处代码。
import pandas as pd
matplotlib.pyplotmatplotlib.pyplot as plt
#设置中文显示,代码略
df=pd.read_excel("宪法知识挑战.xlsx")
#统计参赛人数、总平均分
print("参赛人数:",len(df))
print("总平均分:",round(df.挑战成绩.①_______,1))
#根据挑战成绩设置对应的荣誉勋章
xz={100:"金牌",90:"银牌",80:"铜牌"}
df.index:df.index:
df.atdf.at[i,"挑战成绩"]>70:
df.at[i,"荣誉勋章"]=②_______
else:
df=df.drop(i) #删除i行
#绘制各班按荣誉勋章获得人数降序排序的柱形图
df1=df.groupby("班级",as_index=False).count()
df1=df1.③_______("荣誉勋章",ascending=False)
plt.figure()
plt.title("各班获荣誉勋章人数统计柱形图")

plt.xlabel("班级")
plt.ylabel("人数")
plt.show()
图3
(2)要生成如图14-3所示的柱形图,方框中应填写的代码是_______(单选,填字母)
A.plt.bar(df1.班级, df1.荣誉勋章) B.plt.bar(df1.班级, df1.人数)
C.plt.bardf1.indexdf1.index, df1.荣誉勋章) D.plt.plot(df1.班级, df1.荣誉勋章)
参考答案
1.答案:B
解析:本题考查的是程序结构。算法的基本结构有:顺序、选择(分支)、循环结构。顺序的执行顺序是自上而下,依次执行;选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程;循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。针对优惠策略编写程序最适合的程序结构是选择结构,故选B。
2.答案:B
解析:本题考查Python程序执行。解题思路程序,依次遍历字符串s,如果遇到字母,则前移一位并追加到变量s1的尾部;如果遇到数字则插入到s1的前面。s="Dijob 2023",因此输出的结果是3202 China。故选B。
3.答案:D
解析:本题考查Python程序执行。解题思路程序,可知该程序实现将字符串s中的数取出来再进行累加求和,s="2023hz923yy108!",因此sum=2023+923+108=3054。故选D。
4.答案:A
解析:本题考查Python分支结构的应用。判断x是否是偶数,可以将其对2取余,若余数为0则为偶数反之为奇数,即填x%2==0。故选A。
5.答案:A
解析:本题考查Python分支结构的应用。x=16,y=30,不满足if判断条件,输出x的值16。故选A。
6.答案:D
解析:本题考查的是Python程序调试。阅读程序,可知当a、b、c三个数相等的时候,三个判断条件都不满足,找不到最大值,故本题应选D。
7.答案:C
解析:本题考查Python程序执行与调试。已知这个数字是27或者37的倍数,可以通过余数是否为0进行判断,and是且关系,or是或关系,因此①处判断条件是m%27==0 or m%37==0。故选C。
8.答案:B
解析:本题考查分支结构。当欣欣说:“天猫精灵,我回来了”时,音箱会执行自动播放音乐的功能。这个过程涉及到对用户语音指令的识别和相应功能的执行。在程序设计中,这种情况通常使用分支(选择)结构。故答案为:B。
9.答案:B
解析:本题考查的是Python选择语句。a=4,b=3满足a >= 4,满足b > 2,故执行a=a+3=4+3=7和a=a+2=7+2=9。故本题应选B。
10.答案:D
解析:
11.答案:cake
解析:
12.答案:(1)mean( );xz[df.at[i,"挑战成绩"]] 或 xz[df["挑战成绩"][i]] 或 xz[df.挑战成绩[i]];sort_values
(2)A
解析:本题考查Python程序综合应用。
①此处计算总平均分,mean( )函数返回所请求轴的平均值,故填mean( )。
②如果成绩大于70,根据挑战成绩设置对应的荣誉勋章,故此处填xz[df.at[i,"挑战成绩"]] 或 xz[df["挑战成绩"][i]] 或 xz[df.挑战成绩[i]]。
③绘制各班按荣誉勋章获得人数降序排序的柱形图,此处使用sort_values( )函数实现排序,ascending值为False时降序排序,故此处填sort_values。
④由图可知,横轴为班级,纵轴为荣誉勋章人数,柱形图一般用plt.bar函数,所以填plt.bar(df1.班级,df1.荣誉勋章)。故选A。

展开更多......

收起↑

资源预览