2.1 数组 课件(19张PPT)

文档属性

名称 2.1 数组 课件(19张PPT)
格式 pptx
文件大小 982.2KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2024-05-08 08:10:36

图片预览

文档简介

(共19张PPT)
第一节
2.1 数 组
问题:
超市进货时,会将每个商品的条形码输入计算机,顾客付款时,只要扫描条形码,电脑就可根据条形码找到该商品。临近双十一,某超市对20种商品进行特卖,顾客可以通过扫描条形码的方式确定哪些商品参加本次特卖。
想一想
思考:
若用Python实现该功能,此时这20种特卖商品保存在哪?采用什么类型的变量?
1.数组是一组具有相同数据类型的变量集合
数组的概念与特征
2.用一个数组名和下标来唯一确定数组元素
d[i]
下标/索引
数组名
数组元素
d[0]
d[1]
d[2]
d[3]
d[4]
d[5]
A-300121
A-300122
A-300123
B-300132
B-300134
E-300111
3.创建数组时,被系统分配连续存储空间,数组元素按下标顺序依次存储
……
数组的特征:
1.数组元素的数据类型_________
2.通过_________和______对数组元素的值进行访问
3.存储空间_________(即使数组中的某些元素已经删除,但其占用的空间仍然保留)
4.从空间利用率角度说,数组适用于数据规模可预估且在处理过程中保持稳定的问题。
相同
数组名
下标
固定不变
学习任务一
超市进货时,会将每个商品的条形码输入计算机,顾客付款时,只要扫描条形码,电脑就可根据条形码找到该商品。
临近双十一,某超市对20种商品进行特卖,顾客可以通过扫描条形码的方式确定哪些商品参加本次特卖。特卖商品的条形码数据保存在文件tm.xlsx中(部分数据如图所示)。请大家用Python实现此功能。
(1)抽象与建模
1.用数组d来表示“特价商品条形码”这一列数据,d[0],d[1],d[2]……,d[19]依次表示20个特价商品条形码。
2.用变量thing表示顾客购买的商品条形码,每当输入一个商品条形码thing,就要与数组d中的20个特价商品对比,如果相同,则为“特价商品”。
(2)设计算法
1.读取文件tm.xlsx中特卖商品的信息;
2.创建数组d,共20个元素;
3.读取特卖商品条形码依次赋值给数组d;
4.输入顾客购买的商品条形码,并赋值给thing;
5.将thing与特卖商品条形码所在数组d中的元素对比,若相同,输出“该商品参加特卖活动!”
否则,输出“对不起,该商品不参加特卖活动!”
(3)算法实现
1.读取文件tm.xlsx中特卖商品的信息
import pandas as pd
df=pd.read_excel(“tm.xlsx”) #读取数据
_______________________
2.创建数组d,共20个元素
序号 商品条形码
0 1 A-300121
1 2 A-300122
2 3 A-300123
……
数组的基本操作——创建
直接创建:a=[0,0,0]或a=[0]*3
间接创建:a=[0 for i in range(3)]
可以理解为:
for i in range(3):
a=a+[0]
a
import pandas as pd
df=pd.read_excel(“tm.xlsx”)
_______________________
d=[“”]*20
2.创建数组d,共20个元素
或d=[“” for i in range(20)]
(3)算法实现
3.读取df中特卖商品条形码依次赋值给数组d
import pandas as pd
df=pd.read_excel(“tm.xlsx”)
d=[“”]*20
k=0
for row in df.values:
d[k]=row[1]
_________________
序号 商品条形码
0 1 A-300121
1 2 A-300122
2 3 A-300123
……
数组的访问:
数组名[下标访问]
k+=1
(3)算法实现
4.输入顾客购买的商品条形码,并赋值给thing
import pandas as pd
df=pd.read_excel(“tm.xlsx”)
d=[“”]*20
k=0
for row in df.values:
d[k]=row[1]
k+=1
thing=input(“请输入商品条形码:”)
5.将thing与特卖商品条形码所在数组d中各元素对比,若相同,输出“该商品参加特卖活动!”;否则,输出“对不起,该商品不参加特卖活动!”
thing=input(“请输入商品条形码:”)
for i in range(20):
if _______________________:
print(“该商品参加特卖活动!”)
else:
print(“对不起,该商品不参加特卖活动!”)
thing==d[i]
import pandas as pd
df=pd.read_excel(“tm.xlsx”)
d=[“”]*20
k=0
for row in df.values:
d[k]=row[1]
k+=1
任务二:若当前状态下,4号B-300132商品优惠到期了,现要从数组d中删除该条形码,那该怎么办?
E-300121
E-300111
B-300134
数组的基本操作——删除
d[3]
B-300132
d[0]
d[1]
d[2]
d[4]
d[5]
A-300121
A-300122
A-300123
B-300134
E-300111
删除位置k的数据
学习任务二:
j=k
while j____________
j=j+1
d[j]=””
d[j]=d[j+1]
d[6]
E-300121
任务三:若当前状态下,B-300131商品要参与优惠打折,现要在数组d中插入该条形码,那该怎么办?
d[0]
d[1]
d[2]
d[3]
d[4]
d[5]
新数据插入位置
不能直接插入
A-300121
A-300122
A-300123
B-300134
E-300111
E-300121
B-300131
d[6]
E-300111
B-300134
E-300121
0
数组的基本操作——插入
d[0]
d[1]
d[2]
d[3]
d[4]
d[5]
A-300121
A-300122
A-300123
B-300134
E-300121
新数据插入位置k
B-300131
d[6]
学习任务三:
j=len(d)-2
while j>=k
_____________
j=j-1
________________
d[j+1]=d[j]
d[j+1]=”B-300131”
E-300111
函数和方法 功能 例子 结果
len(list) 统计列表list中元素个数 list=[11,22,33] print(len(list))
list.append(x) 在列表list末尾添加元素x list=[11,22,33] list.append(44) print(list)
list.insert(i,x) 在列表list中下标为i位置插入元素x list=[“A”,”B”,”C”] list.insert(2,”D”) print(list)
list.pop(i) 在列表list中下标i的元素删除;i不指定,默认最后一个 list=[“A”,”B”,”C”] list.pop(2) print(list)
以上插入、删除等操作,其实在Python的列表中已将这些功能封装为函数。
数组
概念与特征
概念
特征
数组元素的数据类型相同
数组的存储空间固定不变
基本操作
数组的创建
数组的访问
数组的删除、插入
通过下标变量对数组的值进行访问