資源簡介 (共19張PPT)第一節2.1 數 組問題:超市進貨時,會將每個商品的條形碼輸入計算機,顧客付款時,只要掃描條形碼,電腦就可根據條形碼找到該商品。臨近雙十一,某超市對20種商品進行特賣,顧客可以通過掃描條形碼的方式確定哪些商品參加本次特賣。想一想思考:若用Python實現該功能,此時這20種特賣商品保存在哪?采用什么類型的變量?1.數組是一組具有相同數據類型的變量集合數組的概念與特征2.用一個數組名和下標來唯一確定數組元素d[i]下標/索引數組名數組元素d[0]d[1]d[2]d[3]d[4]d[5]A-300121A-300122A-300123B-300132B-300134E-3001113.創建數組時,被系統分配連續存儲空間,數組元素按下標順序依次存儲……數組的特征: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 pddf=pd.read_excel(“tm.xlsx”) #讀取數據_______________________2.創建數組d,共20個元素序號 商品條形碼0 1 A-3001211 2 A-3001222 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]aimport pandas as pddf=pd.read_excel(“tm.xlsx”)_______________________d=[“”]*202.創建數組d,共20個元素或d=[“” for i in range(20)](3)算法實現3.讀取df中特賣商品條形碼依次賦值給數組dimport pandas as pddf=pd.read_excel(“tm.xlsx”)d=[“”]*20k=0for row in df.values:d[k]=row[1]_________________序號 商品條形碼0 1 A-3001211 2 A-3001222 3 A-300123……數組的訪問:數組名[下標訪問]k+=1(3)算法實現4.輸入顧客購買的商品條形碼,并賦值給thingimport pandas as pddf=pd.read_excel(“tm.xlsx”)d=[“”]*20k=0for row in df.values:d[k]=row[1]k+=1thing=input(“請輸入商品條形碼:”)5.將thing與特賣商品條形碼所在數組d中各元素對比,若相同,輸出“該商品參加特賣活動!”;否則,輸出“對不起,該商品不參加特賣活動!”thing=input(“請輸入商品條形碼:”)for i in range(20):if _______________________:print(“該商品參加特賣活動!”)else:print(“對不起,該商品不參加特賣活動!”)thing==d[i]import pandas as pddf=pd.read_excel(“tm.xlsx”)d=[“”]*20k=0for row in df.values:d[k]=row[1]k+=1任務二:若當前狀態下,4號B-300132商品優惠到期了,現要從數組d中刪除該條形碼,那該怎么辦?E-300121E-300111B-300134數組的基本操作——刪除d[3]B-300132d[0]d[1]d[2]d[4]d[5]A-300121A-300122A-300123B-300134E-300111刪除位置k的數據學習任務二:j=kwhile j____________j=j+1d[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-300121A-300122A-300123B-300134E-300111E-300121B-300131d[6]E-300111B-300134E-3001210數組的基本操作——插入d[0]d[1]d[2]d[3]d[4]d[5]A-300121A-300122A-300123B-300134E-300121新數據插入位置kB-300131d[6]學習任務三:j=len(d)-2while 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的列表中已將這些功能封裝為函數。數組概念與特征概念特征數組元素的數據類型相同數組的存儲空間固定不變基本操作數組的創建數組的訪問數組的刪除、插入通過下標變量對數組的值進行訪問 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫