资源简介 (共15张PPT)数组及其应用册 别:选择性必修1学 科:高中信息技术(浙教版)数组是由相同类型的变量构成一个序列。一、数组的概念数组名d:下标数组元素数组的分类:一维数组:a[i]二维数组:a[i][j]数组在内存中存储的结构简单,创建数组时系统会分配一块连续的存储空间,每个数组元素按照下标顺序依次存储。0 1 2 3 40 0 1 0 0 01 1 2 2 0 02 0 2 0 1 03 0 2 0 0 04 0 0 0 0 0数组d:列下标 j行下标 i数组元素:a[0][1],a[0][1],...,a[4][4]二维数组的存储方式:行优先存储方式列优先存储方式01000122...[0][0][0][1][0][2][0][3][0][4][1][0][1][1][1][2]...行优先存储一、数组的概念数组d下标二、数组的基本操作:创建在Python语言中没有数组这种结构,但是有更灵活的数据结构:列表。创建列表实现一维数组:(1)使用 [ ] 直接创建a = [1, 2, 3](2)使用 list( ) 函数创建a = list( ‘Key’ )(3)使用 * 创建a = [ 0 ] * 4(4)使用 for 循环创建a = [ 0 for i in range( 4 )]a = [ 1, 2, 3 ]a = [ “K”,”e”,”y” ]a = [ 0, 0, 0, 0 ]a = [ 0, 0, 0, 0 ]创建列表实现二维数组:(1)使用 [ ] 直接创建(直接定义)a = [[1, 2, 3],[4, 5, 6]](2)使用 for 循环创建(间接定义)a = [[ 0 for i in range( 3 )] for i in range( 2 )](3)使用 * 创建(浅拷贝)a = [[ 0 ] * 3] * 2a = [[ 1, 2, 3 ],[ 4, 5, 6] ]a = [[0 , 0, 0],[ 0, 0, 0] ]a = [[ 0, 0, 0],[ 0, 0, 0] ]二、数组的基本操作:创建二、数组的基本操作:访问二维数组例如:a = [ 1, 2, 3, 4, 5, 6]a[ 0 ] = 1a[ 3 ] = 4一维数组例如:a = [ [1, 2, 3], [4, 5, 6] ]a[ 0 ][ 1 ] = 2a[ 1 ][ 2 ] = 6二、数组的基本操作:插入与删除data1 0data2 1data3 2data4 3data5 45下标插入新数据前的数组d新数据插入位置data1 0data2 12data3 3data4 4data5 5data1 0data2 1new_data 2data3 3data4 4data5 5移动数据后的数组d插入新数据后的数组d下标下标如何用程序实现该过程?自然语言描述:1、确定插入位置2、从最后一个数据开始,依次向后移动一位3、新数据存入指定位置d[5]=d[4]d[4]=d[3]d[3]=d[2]d[2]=new_data二、数组的基本操作:插入与删除from random import randintd=[0]*5for i in range(0,4):d[i]=randint(0,10)print(d[i])t=int(input("请输入插入位置:"))new_data=int(input("请输入插入的值:"))for i in range(4,t,-1):d[i]=d[i-1]d[t]=new_datad[5]=d[4]d[4]=d[3]d[3]=d[2]d[2]=new_datad[i-1]=new_data利用列表模拟实现数组的操作二、数组的基本操作:插入与删除1、在数组中插入新数据,是否可以先插入数据,再移动其他数组元素?2、移动数组元素时,其顺序应该是怎样的?为什么一定要这样的顺序?3、如何实现在数组中删除一个元素?二、数组的基本操作:插入与删除1、时间效率低2、可能会因为超出数组元素数量而出错3、删数时会浪费存储空间三、Python中列表常用函数与方法四、例题杨辉三角,是二项式系数在三角形中的一种几何排列,在我国南宋数学家杨辉1261年所编写的《详解九章算法》一书中出现。我们可以把杨辉三角看作这样的图形:最左侧一列数字和右边的斜边数字均为1,内部其他位置上的每个数字均为上一行同一列的数字与上一行前一列数字之和,前8行的杨辉三角如图所示。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1四、例题杨辉三角中的数据,可以使用一维数组存储,如图所示。0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 …1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 …1 2 3 4 5一维数组:pa 数组下标行号(1)用一维数组Pa来存储和处理数据,初始化数组中所有元素值均为1,然后依次处理下表中数组元素的值,并将表中的数据补充完整。待处理顺序 所在行号 待处理数组元素 计算公式1 3 pa[4] pa[1]+pa[2]2 4 pa[7] ①3 4 pa[8] pa[4]+pa[5]4 5 ② pa[6]+pa[7]… … … …pa[3]+pa[4]pa[11]四、例题(2)实现上述功能的代码如下,请在划线处填人合适的代码。n=int(input("请输入行数n="))pa=[1]*100 #定义数组pa大小为100k=1 #变量k存储上一行的下标位置for i in range (2,n):t=k+i+1 #变量t存储当前行的下标起始位置for j in range(i-1):pa[t+j]=pa[k+j]+_____________k=k+ik=0for i in range(n): #输出第0到n-1共n行数据s=""for j in range(i+1):s=s+""+___________________k+=1print(s)pa[k+j+1]str(pa[k])同学们,再见 展开更多...... 收起↑ 资源预览