資源簡介 (共45張PPT)3.3數據與系統121%0即將進入寒假,李華和家人們正在計劃一場旅行,他利用學習的Python設計語言設計“旅行小助手系統”,以此來管理自已旅行中的線路選擇問題。如何在頁面上添加一個“查詢線路”的按鈕?活動1 初看旅行線路from tkinter import* #導入tkinter模塊root=Tk() #創建一個窗口root.title("旅行線路") #設置窗口標題root.geometry( '300x120’) #設置窗口大小root.resizable(0,0) #禁止調整窗口大小Button(root,text="添加線路",relief="solid",width=10,height=2).pack()#在窗口上建一個“添加線路”按鈕Button(root,text="查詢線路",relief="solid",width=10,height=2).pack()#在窗口上建一個“查詢線路”按鈕活動1 初看旅行線路在Python 語言中,tkinter是實現圖形用戶界面的模塊,可以快速創建GUI應用程序。模塊介紹:圖形用戶界面(簡稱GUI)又稱圖形用戶接口,是指采用圖形方式顯示的計算機操作用戶界面矩形容器Frame框架一、圖形用戶界面pythontkinter在中,用創 建圖形用戶界面文本框Entry文本標簽Label(顯示文本、位圖)按鈕ButtonLabel(root, text=“請輸入線路”, font=('Arial', 10)). pack() #在窗門上建一個文本標簽Entry(root,textvariable=var,width=550).pack() #在窗門上建一個文本框Button(root, text="添加線路”, command=intomap,relief="solid", width=10).pack() #在窗口上建一個Button按鈕root.mainloop() #進入事件(消息)循環矩形容器一、圖形用戶界面文本標簽文本框按鈕實現添加路線——創建標簽、輸入框、按鈕等組件李華發現一條新的旅行線路,希望把它添加到系統中,線路情況如下:桂林,5日游,桂林市區—龍脊梯田—漓江漂流—騎行之旅—遇龍河漂流,人均1200元運行“添加線路與查詢線路.py”并把新的旅行線路添加到文件中。完成后,打開“旅行線路.txt”,查看是否添加成功。對照程序想一想數據存儲需要通過哪些代碼來實現?活動2 更新旅行線路實現添加路線——設置畫布大小及定義按鈕觸發函數Python代碼:from tkinter import *root = Tk()root. title(“添加線路” )root.geometry('600x100’)root.resizable(0,0)var=StringVar()def intomap():c=open(“旅行線路.txt",'a+’)#在txt文件未尾添加text里的內容 c.write(var.get()+"\n")c.close#創建一個窗口#設置窗口標題#設置窗口大小#禁止調整窗口大小#定義StringVar()類型#Button按鈕激發函數#以追加模式打開文件#關閉文件活動2 更新旅行線路open函數打開write函數寫入close函數關閉在Python語言中,用open函數把外存儲器里的文本文件(.txt)打開, 用write方法將內存中的數據存儲到外存儲器的文件中, 文件操作結束時一定要用close方法關閉文件。外存儲器中的文件打開內存中的數據寫入關閉二、Python讀寫文本文件在解決問題的過程中,我們可以根據需要將數據組織在一起形成隊列、樹或圖等邏輯結構,這時的數據一般存儲在內存中,當退出程序時,相關數據也將丟失。如果需要更持久地存儲數據,我們可以將數據以文件的形式存儲到外存儲設備中。在活動2中,“線路數據”是用文件的形式存儲在計算機的磁盤里的。二、文件輔助存儲器(外存):硬盤、u盤,光盤,移動硬盤等通常是磁性介質或光盤等,能長期保存信息主存儲器 (內存)★ 用open()函數把外存儲器里的文本文件(.txt)打開。★ 用write方法將內存中的數據存儲到外存儲器的文件中。傳入文件名和標示符:f = open('/Users/michael/test.txt', 'r') #標示符‘r’表示讀通過例子具體示例一下write( )函數的使用。write( )函數的參數是一個字符串,分以下2種情況:1. 通過write()函數向文件中寫入一行>>> f=open(r“C:\Users\Administrator\Desktop\test.txt”,‘w’)>>> f.write(‘hello,world!\n’)#寫入的字符串僅僅在末尾包含一個換行符。>>> f.close()2. 通過write()函數向文件中寫入多行>>> f=open(r“C:\Users\Administrator\Desktop\test.txt”,‘w’)>>> f.write(‘hello python!\nhello world!\n’)#寫入的字符串包含多個換行符,可以達到寫入多行的效果>>> f.close()二、文件與Python讀寫文本文件★ 文件操作結束時,一定要用close方法關閉。調用close()方法關閉文件。文件使用完畢后必須關閉,因為文件對象會占用操作系統的資源,并且操作系統同一時間能打開的文件數量也是有限的。實踐活動:用IDLE打開.py文件教師下發半成品,根據要求完成以下任務1.修改界面,界面我設計2.學習并模仿“添加線路”按鈕代碼,添加 “查詢線路”按鈕。任務一:探究旅行線路教師下發半成品,根據要求完成以下任務1、補充程序,運行。2、在文本框中輸入線路,數據保存在旅行線路.txt文件中。任務二:編程實現“添加線路”功能任務實踐活動李華計劃從廈門出發,以武漢作為中轉城市,到成都旅游。活動2 查找車次李華登陸了12306網站查詢到了廈門至武漢部分車次信息、武漢至成都部分車次信息。用表格整理數據需要多個頁面回來切換,輸入大量數據,不夠簡便,李華嘗試用數據庫管理軟件Access管理數據活動2 查找車次數據庫是以一定的組織方式存儲在計算機中的相互關聯的數據集合。數據庫管理系統是定義、創建、維護數據庫的工具。允許用戶管理和控制數據庫中的數據。常見的數據庫管理系統有Sybase、ORACLE、MySQL、Access等數據庫應用系統:例如以數據庫為基礎的財務管理系統、人事管理系統、圖書管理系統等三、數據庫系統常見的數據庫管理系統常見的數據庫應用系統字段字段名記錄主鍵認識數據表橫記豎字文本型:用于輸入文本或文本與數字相結合的數據,在Access中,每一個漢字和所有特殊字符(包括中文標點符號)都算作一個字符數字型:用于可以進行數值計算的數據,但貨幣除外日期/時間型:用于存儲日期和(或)時間值是/否型:用于表示邏輯值(是/否,真/假)貨幣型:用來存儲貨幣值字段類型動手試一試1. 啟動Access軟件,新建空白數據庫文件2. 創建表結構,參照下表依次創建7個字段3. 嘗試輸入2條記錄字段名稱 字段類型 范圍車次編號 文本 字段大小:10出發站 文本 字段大小:10到達站 文本 字段大小:20出發時間 日期/時間 格式:短時間到達時間 日期/時間 格式:短時間歷時 數字 字段大小:整型最低票價 貨幣 格式:貨幣建立數據庫——用Access軟件為火車換乘數據建立數據庫打開“廈門至成都.mdb”數據庫文件。將 “廈門至武漢車次“ 和 “武漢至成都車次“ 這兩個表的 數據補充完整。動手試一試數據表在數據庫中,數據是以二維表的形式組織存儲的,稱為表。如下圖所示的“武漢至成都車次” 表為例,表中的一列稱為一個字段,一個字段對應車次實體的一個屬性,每個字段都有一個名字,稱為字段名,如車次編號、出發站等。表中的一行稱為一條記錄,一條記錄對應于一個車次實體,保存有關實體屬性的數據。表的名稱字段名,本表中有8個字段每行稱為記錄,本表中有4條記錄數據庫是存在于外存中的文件,表存在于數據庫中,數據庫中可以包含多個表。我們可以對數據表進行插入、刪除、更新等操作。數據庫管理系統在數據庫技術中,數據是如何被科學地組織和存儲的?又是如何被高效地獲取和維護的?完成這些任務的是一個系統軟件——數據庫管理系統。數據庫管理系統是定義、創建、維護數據庫的一種工具。它允許用戶管理和控制數據庫中的數據。常見的數據庫管理系統有:建立了數據庫之后,為了能更方便地查詢到換乘方案,可嘗試在Access中建立表之間的“ 關系”,利用“ 關系”解決問題。活動1 查詢換乘方案在查找換乘方案時,廈門至武漢車次表中的字段“到達站”與“武漢至成都車次”表中的“出發站”是有對應關系的。出發站出發站到達站 / 出發站兩表建立“關系”:1.菜單欄點擊“設計”2.點擊編輯“關系”3.編輯關系窗口點擊“新建”4.新建窗口,左表選擇“廈門至武漢車次”,右表選擇“武漢至成都車次”;左列選擇到達站,右列選擇出發站,并點擊確定。在Access中設置查詢條件,解決個性化需求的問題。在查找換乘方案時,可以在“查詢設計器”窗口的”條件”欄中設置查詢的準則。活動2 滿足個性化需求1.菜單欄點擊創建;2.點擊“查詢設計”1.顯示表窗口中選中“武漢至成都車次”和“廈門至武漢車次”兩個表,并點擊下方的“添加”按鈕;2.添加完成后,點擊“關閉”按鈕關閉顯示表窗口;1.在下方窗口中,第一列字段選擇“廈門至武漢車次*”,表選擇“廈門至武漢車次”,選中顯示條件;2.在下方窗口中,第二列字段選擇“武漢至成都車次*”,表選擇“武漢至成都車次”,選中顯示條件;3.按“ctrl+s”保存雙擊“查詢1”,即可看到查詢結果(一個新的表),共有6條記錄。可以看出,查詢結果正是兩表中的數據通過關系(廈門至武漢車次,到達站=武漢至成都車次.出發站)進行關聯的結果。該結果存大的問題:1.時間上不合理,沒有考慮換乘時間的合理性。例如:從廈門北到達武漢的時間是14:53,而從武漢前往成都東的出發時間是11:32,時間錯位。2.中轉地點不合理。表“廈門至武漢車次”與表“武漢至成都車次”中錄入的都是以武漢(含漢口、武昌、武漢三個車站)為中轉站的車次數據,武漢三站之間地鐵換乘,也僅需半小時,因此,以“廈門至武漢車次.到達站=武漢至成都車次.出發站為關系建立的查詢是不可取的,它將許多可能合理的換乘方案排除了,如坐D2232從廈門北到武漢站,然后坐武漢市內地鐵到武昌站,再換乘T246次從武昌到成都東,這條可行方案被排除在外了。關系就像繩子將兩個“表”聯結在一起,我們可以利用“查詢”面板中的“查詢設計” 選項按照提示創建選擇查詢, 得到查詢結果。但查詢結果并不一定理想, 比如沒有考慮換乘時間的合理性等。武漢三個火車站之間利用地鐵換乘, 大約用時半小時。為此, 修改查詢表達式為:SELECT廈門至武漢車次.*,武漢至成都車次.*FROM 廈門至武漢車次 INNER JOIN 武漢至成都車次ON 廈門至武漢車次.到達時間+0.05<武漢至成都車次.出發時間創建查詢——利用“關系”修改查詢表達式為:SELECT廈門至武漢車次.*,武漢至成都車次.*FROM 廈門至武漢車次 INNER JOIN 武漢至成都車次ON 廈門至武漢車次.到達時間+0.05<武漢至成都車次.出發時間修改為查詢結果查詢準則如果只是簡單地查找某個字段為特定值的記錄, 只要在該字段對應的“條件” 欄中輸入該值即可;如果不僅是查找某個特定值, 在準則中可以使用表達式。在表達式中可通過操作符設置查詢范圍。某同學想乘坐7: 00~8: 00 的高鐵或動車出行。為此, 需在查詢表達式中追加條件:WHERE(廈門至武漢車次.車次編號 LIKE “G%” OR廈門至武漢車次.車次編號 LIKE “D*”) AND(廈門至武漢車次.出發時間 BETWEEN #7:00# AND #8: 00#);數據庫的建立、使用和維護等工作僅靠數據庫管理系統還遠遠不夠, 還要有專門的人員來完成, 這些人被稱為數據庫管理員。數據庫管理員通過數據庫管理系統可以對數據庫進行操作和維護。數據庫系統數據庫系統是由數據庫、數據庫管理系統(及其應用開發工具)、數據庫應用系統、數據庫管理員和用戶組成的存儲、管理、處理和維護數據的系統。數據庫主要用于存儲數據, 需要足夠大的內存儲器和外存儲器等硬件平臺的支持。軟件部分除了操作系統和數據庫管理系統外,還包括支持特定應用環境開發的軟件工具以及開發完成的數據庫應用系統。12306 網站是一個大型數據庫應用系統, 其他如各類財務管理系統、人事管理系統、圖書管理系統等軟件也都是數據庫應用系統。認識數據表武漢既是前段車程的到達站,又是下段車程的出發站認識數據表書P71頁任務三的活動1“查詢換乘方案”,嘗試在Access中建立表之間的“關系”。查找換乘方案時,“廈門至武漢車次”表中的字段“到達站”與“武漢至成都車次”表中的“出發站”是有對應關系的。打開“廈門至成都.mdb”文件,利用“關系”菜單創建如教科書中的圖3.3.5所示的表間關系。建立表間關系①創建表間關系:“廈門至武漢車次”表中的“到達站”與“武漢至成都車次”表中的“出發站”建立關聯②從兩個表中選取要顯示的字段:廈門至武漢車次.*武漢至成都車次.*③關閉查詢并保存為“查詢1”④雙擊打開(運行)“查詢1”,觀察查詢結果。數據表關系就像繩子將兩個“表”聯結在一起,我們可以利用“查詢”面板中的“查詢設計”選項按照提示創建選擇查詢。雙擊 ,彈出對話框。選中2個表,單擊“添加”按鈕,再單擊“關閉”按鈕。認識數據表再分別選中2個表的全部字段,保存為“查詢1”。( 點擊上面的運行“!”)雙擊“查詢1”,即可看到查詢結果(一個新的表),共有44條記錄。可以看出,查詢結果正是兩表中的數據通過關系(廈門至武漢車次.到達站=武漢至成都車次.出發站)進行關聯的結果。查詢準則SELECT 廈門至武漢車次.*, 武漢至成都車次.*FROM 廈門至武漢車次 INNER JOIN 武漢至成都車次 ON 廈門至武漢車次.到達站=武漢至成都車次.出發站;條件修改查詢剛剛的查詢比如沒有考慮換乘時間,武漢三個火車站之間利用地鐵換乘,大約需要半個小時。為此,修改查詢表達式為:式中的0.05的單位是天,即0.05*24小時=1.2小時,預留了武漢三站之間的換乘時間及在火車站的出站、進站時間。SELECT 廈門至武漢車次.*, 武漢至成都車次.*FROM 廈門至武漢車次 INNER JOIN 武漢至成都車次 ON 廈門至武漢車次.到達時間+0.05<武漢至成都車次.出發時間;條件FROM Table1 INNER JOIN Table2 ON (A) AND (B);多個條件可用AND連接通過“條件”查詢表達式:And、or、between...and... 、 like查詢準則設計存儲個人信息的程序,實現如下功能:1.將學生姓名、性別、班級、職務等基本信息存儲在外存儲器中的“個人信息.txt”文件里。Label標簽Entry文本框Button按鈕按鈕觸發函數:def file_write():file = open("個人信息.txt",'a+’)file.write(name.get()+","+gander.get()+","+classes.get()+","+job.get()+"\n")file.close()練一練檢測檢測數據庫數據庫管理系統數據庫應用系統數據庫管理員和用戶組成的存儲等系統數據庫系統四、數據庫系統1. 建立與數據庫的連接2.根據需要產生記錄集3.訪問記錄集,處理數據4.根據需要把處理好的數據更新到數據庫中5.斷開與數據庫的連接利用python訪問數據庫的步驟★圖形用戶界面★文件★數據庫系統★查詢準則課堂小結采用圖形方式顯示的計算機操作用戶界面長期保存數據數據庫、數據庫管理系統、數據庫應用系統、數據庫管理員、用戶121%0拜拜! 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫