資源簡(jiǎn)介 學(xué)習(xí)任務(wù)單課程基本信息課題 5.4 數(shù) 據(jù) 查 找 ——查找算法的應(yīng)用學(xué)習(xí)目標(biāo)1.能對(duì)給定的文件中的數(shù)據(jù)進(jìn)行抽象并建立模型。 2.能合理選用數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)查找算法。 3.能用Python語(yǔ)言編寫具體的查找程序。 4.能自覺(jué)對(duì)學(xué)習(xí)生活具體問(wèn)題抽象建模、設(shè)計(jì)算法并編寫程序及調(diào)試程序。課前學(xué)習(xí)任務(wù)1. 體驗(yàn)生活、學(xué)習(xí)中的查找任務(wù)。課上學(xué)習(xí)任務(wù)航空公司VIP會(huì)員積分查詢部分?jǐn)?shù)據(jù)(Excel數(shù)據(jù)) 【學(xué)習(xí)任務(wù)一】 抽象與建模 【學(xué)習(xí)任務(wù)二】 (二)設(shè)計(jì)算法與數(shù)據(jù)結(jié)構(gòu) 【學(xué)習(xí)任務(wù)三】編寫程序并調(diào)試【學(xué)習(xí)任務(wù)四】學(xué)習(xí)生活中的應(yīng)用實(shí)踐: 校園一卡通號(hào)碼查詢。某校共n名學(xué)生,嚴(yán)老師編寫了一個(gè)校園一卡通號(hào)碼查詢程序,輸入號(hào)碼就能查詢?cè)撎?hào)碼所屬的班級(jí)和學(xué)生姓名。如右圖所示所有學(xué)生數(shù)據(jù)存儲(chǔ)在“校園一卡通.csv”表格中,該表格分別保存了本校所有學(xué)生的號(hào)碼、所在班級(jí)和姓名的信息,號(hào)碼的編碼規(guī)則為入學(xué)年份+班級(jí)加身份證號(hào)后三位。第i個(gè)學(xué)生的號(hào)碼保存在第1列中,對(duì)應(yīng)的班級(jí)和姓名保存在第2列和第3列中。輸入號(hào)碼,電腦開始查找該號(hào)碼的信息,如果找到對(duì)應(yīng)的信息,就顯示所屬班級(jí)和姓名,如果沒(méi)有找到,則顯示“沒(méi)有查詢到該號(hào)碼信息!” 相應(yīng)程序如下,請(qǐng)?jiān)诔绦騽澗€①②③處填入相應(yīng)的代碼,把程序補(bǔ)充完整。 import csv flie1=open('校園一卡通.csv','r') reader=csv.reader(flie1) st=[] for it in reader: ① flie1.close() # 冒泡排序 for i in range(1,len(st)-1): for j in range(len(st)-1,i,-1): if ② : st[j],st[j-1]=st[j-1],st[j] for i in range(len(st)): print(st[i]) # 二分查找 key=input(‘請(qǐng)輸入需要查找的卡號(hào):') i=1;j=len(st)-1 while i<=j: m=(i+j)//2 if ③ : i=m+1 else: j=m-1 if st[i][0]==key: print(st[0]) print(st[i]) else: print("沒(méi)有該號(hào)碼信息!") 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)