粤教版 (2019)必修1 数据与计算1.3.1 信息优秀综合训练题
展开1.下列Pythn表达式的值为数值5的是( )
A.int(max(["36","100","5"]))B.len([1,2,3,"IT"])
C.rd("e")-rd("a")D.str(abs(-5))
2.有如下Pythn程序段:
x,y=11,6
if x%2!=0:
if y%3==0:
s=x*y
else:
s=x//y
else:
s=x+y
程序执行后,s的值为( )
A.66B.17C.1D.报错
3.某店铺优惠活动:消费满688后打7折,不满额则9折。计算优惠价格的Pythn程序段如下:
if x>=688:
y=x*0.7
else:
y=x*0.9
下列选项中与上述功能相同的是( )
A.B.C.D.
4.已知字典 medals={"金牌":201,"银牌":111,"铜牌":71},其中键是奖牌,值是数量,则引用"金牌"数量的方法是( )
A.medals ["金牌"]B.medals ("金牌")C.medals [0]D.medals (1)
5.有如下Pythn程序段:
n=int(input())
t_hex=['A','B','C','D','E','F']
if n<10:
res=n
else:
res=t_hex[n%10]
输入n的值为12,程序执行后,res的值为( )
A.FB.EC.DD.C
6.下列Pythn语句不正确的是( )
A.numbers=[1,2,3,4]B.a,b=b,a
C.x,y,z="AI",[5,1]D.n%=2
7.Pythn表达式3*7**2//10的值是( )
A.4B.14C.7D.47
8.有如下Pythn程序段:
imprt randm
a=[0]*6
i=0
while i<6:
a[i]=randm.randint(1,5)*2
if a[i]==i*2:
a[i]=0
i+=1
elif a[i]%2==i%2:
a[i]=a[i]-1
i+=1
print(a)
执行该程序后,输出的结果可能是( )
A.[11,0,3,0,0,0]B.[0,0,1,0,3,0]
C.[1,0,5,0,4,0]D.[3,0,5,0,5,0]
9.有如下Pythn程序段:
a=[[1,1],[2,2],[3,3],[4,-1]]
head=0
cur=a[head][1]
a[head][1]=-1
while cur!=-1:
p=a[cur][1]
a[cur][1]=head
head,cur=cur,p
则程序运行后,a的值为( )
A.[[1,1],[2,2],[3,3],[4,-1]]B.[[1,-1],[2,0],[3,1],[4,2]]
C.[[4,1],[3,2],[2,3],[1,-1]]D.[[4,-1],[3,0],[2,1],[1,2]]
10.有如下Pythn程序:
imprt randm
a=[2,4,5,6,6,6,8,8,10,12]
key=int(randm.randm()*5+5)
i=0;j=9;s=0
while i<=j:
m=(i+j)//2
if a[m]<=key:
i=m+1
else:
j=m-1
s+=m
程序运行后,s的值不可能是( )
A.10B.14C.19D.22
11.数组a中存储着全校学生的学号和BMI信息,格式为 [[“0101”,19.2], [“0102”,18.5], [“0103”,20.1],……]。其中每条数据的第一项为学号,第二项为BMI值。数组a已经按学号升序排序,现要求按照BMI值进行降序排序,BMI相同的情况下仍然按照学号保持升序。则下列程序段可以实现该功能的是( )
A. B.
C. D.
A.AB.BC.CD.D
12.定义如下函数:
def mve(n,a,b,c):
if n==1:
print(a,”->”,c)
return
mve(n-1,a,c,b)
mve(1,a,b,c)
mve(n-1,b,a,c)
执行语句mve(3,”A”, ”B”, ”C”),输出的第一行内容是( )
A.B->CB.A->CC.C->AD.A->B
13.在二维数组 a 中,a[3][1]表示的是第几行第几列的数据( )
A.第1行3列B.第3行1列
C.第4行2列D.第2行4列
14.数据类型可以分为( )
A.基本数据类型和原子数据类型B.基本数据类型和结构数据类型
C.原子数据类型和编程数据类型D.应用数据类型和结构数据类型
15.有如下Pythn程序段:
s="cbcbaabcbbc"
st=s[0]
fr i in range(1, len(s)):
if len(st)==0 r s[i]!=st[-1]:
st=s[i]+st
else:
st=st[0:len(st)-1]
print(st)
执行该段代码后,输出结果为( )
A.cbbcB.cbcC.bcD.b
16.有如下Pythn程序段:
frm randm imprt randint
a=[0]*6
i=0
while i<6:
a[i]=randint(1,10)
if a[i]%2==i%2:
i=i-1
elif a[i]%2==0:
a[i]=a[i]+1
i=i+1
执行该段代码后,列表a的值不可能为( )
A.[5,3,1,11,9,3]B.[11,5,5,7,3,5]C.[1,3,9,11,1,11]D.[9,7,7,5,9,3]
17.有如下Pythn程序段:
a=[3,5,2,4,1]
sum1=m=a[0]
fr i in range(1,len(a)):
if a[i]
suml+=m
执行该程序后,sum1的值为( )
A.6B.9C.11D.15
18.“回文串”是一个正读和反读都一样的字符串。下列Pythn段的功能是:输入一个字符串,判断该字符串是否为回文串,若是则输出“Yes”,否则输出“N”。
s=input("请输入字符串:")
i=0
j=len(s)-1
flag=True
while i
i+=1
①
else:
flag=False
if ② :
print("Yes")
else:
print("N")
则程序划线①②③处应填入的语句为( )
A.①j+=1 ②flagB.①j+=1 ②nt flag
C.①j-=1 ②flagD.①j-=1 ②nt flag
19.根据国家标准,室内空气质量指数的正常范围为0.5~2.5,如果空气质量指数大于2.5,则表明空气质量较差,空气质量指数小于0.5,表明空气质量较好,下列选项能正确表示这三种情况的是( )
A.AB.BC.CD.D
20.某DataFrame对象df共包含6个数据列、30个数据行,其中第2列为“姓名”列,下列语句中能读取df对象中“姓名”列所有数据的是( )
A.df."姓名"B.df. clumns[1]C.df[姓名]D.df["姓名"]
二、填空题
21.若输入987421,输出的结果是 。
22.x = 20
if x = 10:
value = 4*x
else:
value = 5*x
print(value)
本程序中分数变量,变量名称是 ,变量的数据类型是
23.阅读如下一段程序,回答以下问题。
x=20
if x>=10:
value=4*x
else:
value=5*x
print(value)
该程序采用 结构,程序输出结果是
24.把数式写成Pythn语言的表达式 。
25.Pythn表达式5<-5 r nt 5<=5 and 5!=5的值是 。
三、判断题
26.在Pythn语言中,4和"4"的数据类型是一样的。( )
27.“student id”是一个正确的变量名。( )
28.Pythn程序 a=10;a=8;print(a)的运行结果是8。( )
29.在Pythn中,运算符*=的优先级要高于运算符+=。( )
30.实现控制循环的跳转需要用到break和cntinue两个关键字。其中,break是中断循环,cntinue是跳出本次循环的执行。( )
四、操作题
31.小光和小明根据某地机动车限行提示,如下图a所示,分别设计了根据尾号数字实现限行提醒的程序(程序A和程序B)。目前设计进度只能判断车牌的最后一位是数字的情况,如输入车牌号码“沪AGU332”,输出“星期一限行”,如下图b所示。
图a 图b
程序编写如下,请回答下列问题
程序A 程序B
(1)请在划线处填入合适代码,程序A中的①②和程序B中①②填入代码是一样的,填一处即可:
① 、② 。
(2)在上述程序中,变量lic的数据类型为 (单选,填字母:A.整型/B.字符串/C.逻辑型)
(3)程序A和程序B哪段程序效率高 (单选,填字母:A.程序A/B.程序B)
(4)调试程序时出现1处报错,如下图所示
如何修正程序为
32.某国计划在海岸线上安装雷达探测海上的岛屿。假设海岸线是一条无限的直线,一边是陆地,另一边是海洋。为了找到覆盖所有岛屿所需雷达装置的最小数量,编写程序:输入岛屿数量n、雷达装置的覆盖距离d以及每个岛屿的位置(由x,y坐标值表示),若雷达能覆盖所有岛屿,则输出所需雷达的最小数量;否则,输出“无法覆盖”。
如图所示海洋中有3个岛屿,位置分别为(1,2)、(-3,1)、(2,1),雷达的覆盖距离为2,则至少需要安装2个雷达装置,分别安装在(-2,0),(1,0)位置上。
(1)若上述雷达覆盖距离修改为3,则至少需要安装的雷达装置数为
(2)实现上述功能的Pythn程序如下,请在划线处填入合适的代码。
frm math imprt sqrt
n = int(input('请输入岛屿的数量n:'))
d = int(input('请输入雷达的半径d:'))
# qj[i][0]、qj[i][1]分别存储可以覆盖第i个岛屿的雷达,能安装的最左边和最右边位置
qj = [[0, 0] fr i in range(n)]
flag = True
fr i in range(n):
x = int(input('岛屿坐标x:'))
y = int(input('岛屿坐标y:'))
if y > d:
flag = False
break
qj[i][0] =
qj[i][1] = x + sqrt(d * d - y * y)
if :
print('无法覆盖')
else:
# 按左端点升序排序,左端点相同时按右端点升序排序
fr i in range(n - 1):
k = i
fr j in range(i + 1, n):
if :
k = j
if k != i:
qj[k], qj[i] = qj[i], qj[k]
num = 1
cur = qj[0][1]
fr i in range(1, n):
if cur > qj[i][1]:
cur = qj[i][1]
elif :
num += 1
cur = qj[i][1]
print('安装的雷达数为:', num)
(3)若将程序中加框处代码修改为 (单选:填字母),不影响的正确性。
A.i==n-1 B.i==n C.i < n D.y > d
(4)根据代码可知,对于n个岛屿,在进行排序时最多的交换次数为 。
33.如下自定义函数实现一个加减法算式的运算,要求输入一个只包含运算符“+”和运算符“-”的合法算式,输出算式的运算结果。具体程序如下,请在划线处填入合适的代码。
def fun(s):
num1=i=0
while i
num1=
i+=1
elif s[i]== "+" r s[i]<= "-":
x=1
if s[i]== "-":
x=-1
num2=0;j=i+1
while j
num2=mum2*10+int(s[j])
j+=1
elif s[j]== "+"r s[j]== "-":
return fun(str(num1+x*num2)+ )
if j==len(s):
return
34.在一个正整数序列中,由若干个连续的数据元素组成的序列,称为该序列的子序列。现输入一个整数序列和一个整数m,寻找一个满足下列条件的子序列:
①该子序列的各元素之和不能超过m。
②在所有满足条件①的子序列中寻找长度为最大(元素个数最多)的子序列。
若满足条件的子序列有多个,则输出最左边的子序列。
例如,整数序列为“1,5,4,2,3,1,5,8,1”,m的值为15,则元素之和不超过m的最长子序列有“[1,5,4,2,3]”和“[4,2,3,1,5]”,长度均为5,根据题目要求可知,最后输出的最长子序列为“[1,5,4,2,3]”。读入一个由整数组成的数据序列,输入m,输出符合条件的最长子序列及该子序列的长度。程序运行界面如图所示。
请回答下列问题:
(1)若原序列为“3,5,4,5,2,3,1,8,3,4”,m=20,则输出的最长子序列为 。
(2)函数sumif(b)的功能是求列表b中元素的前缀和,即sumx[1]=b[0],sumx[i]=b[0]+…+b[i-1],请在程序划线处填入合适的代码。
def sumif(b):
sumx[0]=0
fr i in range(1,n+1):
sumx[i]=
return sumx
(3)主程序如下,请在程序划线处填入合适的代码。
#读入数据,并存入列表d中,代码略
print("序列为:", d)
n=len(d)
m=int(input("请输入m的值:"))
sumx=[0]*(n+1)
sumx=sumif(d)
maxn=0
maxpsi=-1
fr i in range(0,n+1):
j=i
while :
j=j+1
if j-i-1>maxn:
maxpsi=i
print("最长子序列长度为:", maxn)
print("最长子序列为:",d[maxpsi:maxn+maxpsi])
五、简答题
35.列举Pythn程序设计语言中,fr循环和while循环的基本的格式。
36.什么是常量,什么是变量?常量和变量的特点是什么?
37.从键盘上输入一个字符,当输入的是英文字母时,输出“输入的是英文字母”;当输入的是数字时,输出“输入的数字”;当输入的是其他字符时,输出“输入的是其他字符”。
A.if zs>2.5:
print("较差")
elif 0.5
else:
print("较好")
B.if 2.5>zs>0.5:
print("正常")
elif zs<0.5:
print("较好")
else:
print("较差")
C.if zs>2.5:
print("较差")
elif nt zs>0.5:
print("较好")
else:
print("正常")
D.if zs<0.5:
print("较好")
elif nt zs>2.5:
print("正常")
elif zs>2.5:
print("较差")
n = int(input("n="))
n = n % 1000
n = n // 100
print (n)
参考答案
1.A
2.A
3.D
4.A
5.D
6.C
7.B
8.D
9.B
10.B
11.D
12.B
13.C
14.B
15.D
16.B
17.C
18.C
19.D
20.D
21.4
22.value int
23.分支 80
24.(a+b)/(2*a)
25.False
26.错误
27.错误
28.正确
29.错误
30.正确
31.lic[-1]或其他适合答案 ["5","0"] B A 将最后一个print语句采用缩进格式书写或其他适合答案。
32.1 x -sqrt(d * d - y * y) qj[k][0]>qj[j][0] r qj[k][0]==qj[j][0] and qj[k][1]>qj[j][1] cur
34.[5,4,5,2,3,1]或5,4,5,2,3,1 或545231 sumx[i-1]+b[i-1] j<=n and sumx[j]-sumx[i]<=m (说明:不能写为sumx[j]-sumx[i]<=m and j<=n) maxn=j-i-1
35.fr 循环结构的基本格式:
fr 循环变量 in 列表:
语句或语句组
While循环格式:
While(表达式):
语句或者语句组
36.常量是指在程序运行过程中其值始终不发生变化的量,通常是固定的数值或字符串。变量是指在程序运行过程中其值可以发生变化的量。常量是固定值,变量可以多次赋值。
37.ch=input("请输入一个字符:")
if ch.isdigit()==True:
print("输入的是数字")
elif ch.isalpha()==True:
print("输入的是英文字母")
else:
print("输入的是其他字符")
高中信息技术浙教版 (2019)必修1 数据与计算第一章 数据与信息1.3 数据采集与编码当堂达标检测题: 这是一份高中信息技术浙教版 (2019)必修1 数据与计算第一章 数据与信息1.3 数据采集与编码当堂达标检测题,共4页。试卷主要包含了下列关于数据的说法,不正确的是,下列有关信息的说法,不正确的是,关于信息,下列说法正确的是,下列关于数据的说法,正确的是,下列有关信息的说法中,正确的是,下列有关信息的说法,正确的是等内容,欢迎下载使用。
浙教版 (2019)必修1 数据与计算2.2 算法的控制结构课时练习: 这是一份浙教版 (2019)必修1 数据与计算2.2 算法的控制结构课时练习,共12页。试卷主要包含了有如下Pythn程序段,有如下Pythn 程序段,某Pythn程序段如下,有如下的 Pythn程序,有下列 Pythn程序段,如下 Pythn程序段等内容,欢迎下载使用。
信息技术必修1 数据与计算1.1 感知数据达标测试: 这是一份信息技术必修1 数据与计算1.1 感知数据达标测试,共5页。试卷主要包含了下列选项中不属于数据的是等内容,欢迎下载使用。