高效作业3 第3课 数组2——二维数组-【精彩三年】2024-2025学年高中信息技术选择性必修1课程探究与巩固Word教参(浙教版2019)
高效作业3[第3课 数组2——二维数组](见学生用书P168)
【A级 新教材落实与巩固】
1.有如下Python程序段:
n=4
a=[[j*n+i+1 for i in range(n)]for j in range(n)]
for i in range(1,n):
for j in range(n//2):
a[i][j],a[i][n-j-1]=a[i][n-j-1],
a[i][j]
执行该程序段后,a[1][1]和a[2][1]的值分别为( D )
A.6和10 B.7和10
C.6和11 D.7和11
【解析】 二维数组a中生成的数组元素是[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],程序中的循环结构把每一行前后对称位置上的元素交换,故输出a[1][1]和a[2][1]的值为7和11。选项D正确。
2.有一个6行4列的数组a以行优先的方式存储在k个连续存储单元中,其中每个元素占8个存储单元,如果已知a[0][0]的首地址为1000,则a[3][2]的首地址为( A )
A.1112 B.1160 C.1104 D.1080
【解析】 以行优先的方式存储.每行共4个数据项,a[3][2]前共有3行2列,因此共有3*4+2=14个数据项,共占14*8=112个存储单元,首元素地址为1000+112=1112,选项A正确。
3.在二维数组a中,每个元素所占空间大小为8个字节,行下标i从0到4,列下标j从0到5,从首地址SA开始连续存放在存储器内,存放该数组需要的存储空间为( D )
A.20 B B.30 B C.160 B D.240 B
【解析】 总共有5行6列,共30个元素,每个元素8个字节,共240个字节,选项D正确。
4.有如下Python程序段:
a=[[0]*4]*3
b=[[0]*4 for i in range(3)]
a[2][3]=8
b[2][3]=8
执行该程序段后,下列说法正确的是( C )
A. a[0][3]的值为0,b[0][3]的值为0
B. a[0][3]的值为0,b[0][3]的值为8
C. a[0][3]的值为8,b[0][3]的值为0
D.a[0][3]的值为8,b[0][3]的值为8
学科网(北京)股份有限公司
【解析】 若使用语句a=[[0]*4]*3来创建,则在修改某行元素时,3行中同一列数据会同时被修改,则a[0][3]的值为8,选项C正确。
5. 有如下Python程序段:
a=[[i+1 for i in range(4)] for j in range(3)]
for i in range(3):
for j in range(4):
a[i][j]=a[i][j]+4*i
执行该程序段后,a[1][2]的值为( C )
A.2 B.4 C.7 D.8
【解析】 程序运行后列表a的值为:[[1,2,3,4],[5,6,7,8],[9,10,11,12]],选项C正确。
6.有如下Python 程序段:
li=[[”a”,10],[”b”,20],[”c”,30]]
dic={}
for i in range(len(li)):
dic[li[i][0]]=li[i][1]
print(dic)
执行该程序段后,输出的结果是( D )
A.{'a',10,'b',20,'c',30}
B.{10,20,30}
C.{['a','b','c'],[10,20,30]}
D.{'a':10,'b':20,'c':30}
【解析】 通过遍历列表li,依次取出元素[”a”,10],[”b”,20], [”c”,30],将各列表元素索引为0的位置作为key,将各列表元素索引为1的位置作为value。最后输出的dic为{”a”:10,”b”:20,”c”:30},选项D正确。
7.小明将我国部分省会城市及其对应的市花存储到二维数组中,并依次输出各省会城市名称及其市花,例如“杭州市的市花是桂花”。相关Python程序如下:
a=[[”杭州市”,”桂花”], [”广州市”,”木棉”],[”郑州市”,”月季”],[”武汉市”,”梅花”],[”长沙市”,”杜鹃”]]
for p in a:
print(①________+”的市花是”+②________)
则①、②处填入的代码分别为( B )
A. ①p[1] ②p[0]
B. ①p[0] ②p[1]
C. ①a[i][0] ②a[i][1]
D.①a[i][1] ②a[i][0]
【解析】 p表示每一个小列表,则p[0]表示省会城市,p[1]表示市花,选项B正确。
8.九宫格游戏规则: 1 至9 九个数字, 横竖都有3 个格,每行、每列、主对角、副对角的所有元素之和均为15,其中一组数据如列表list 所示。list=[[8,1,6],[3,5,7],[4,9,2]],执行下列Python 程序段后, 结果不能构成九宫格数据的是( D )
8 | 1 | 6 |
学科网(北京)股份有限公司
3 | 5 | 7 |
4 | 9 | 2 |
A.list1=[[0,0,0], [0,0,0], [0,0,0]]
for x in range(3):
for y in range(3):
list1[x][y]=list[y][x]
for i in list1:
print(i)
B.list1=[””,””,””]
for x in range(3):
list1[x]=list[x][::-1]
for i in list1:
print(i)
C.list1=[[0,0,0], [0,0,0], [[0,0,0]]
for x in range(3):
for y in range(3):
list1[x][y]=list[y][2-x]
for i in list1:
print(i)
D.list1=[[0,0,0], [0,0,0], [0,0,0]]
for x in range(3):
for y in range(3):
list1[x][y]=list[x-2][y]
for i in list1:
print(i)
【解析】 运行结果如下:
A | B | C | D |
[8,3,4] [1,5,9] [6,7,2] | [6,1,8] [7,5,3] [2,9,4] | [6,7,2] [1,5,9] [8,3,4] | [3,5,7] [4,9,2] [8,1,6] |
选项D斜线相加值不是15,选项符合题意。
9.2023·黄岩中学检测蒙特卡罗法是一类基于概率,通过使用随机数来解决某些计算问题的方法。如图所示,在平面上有k 个圆,可以使用蒙特卡罗方法求这些圆所占的近似总面积。(注:重叠部分仅计算一次,不重复计算)具体算法如下。
学科网(北京)股份有限公司