Python電子教案2 1 Python程序實例解析課堂_第1頁
Python電子教案2 1 Python程序實例解析課堂_第2頁
Python電子教案2 1 Python程序實例解析課堂_第3頁
Python電子教案2 1 Python程序實例解析課堂_第4頁
Python電子教案2 1 Python程序實例解析課堂_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第,2,章,Python,程序實例解析,溫度轉換程序實例,溫度刻畫存在不同體系,攝氏度以,1,標準大氣壓下水的結冰點為,0,度,沸點為,100,度,將溫度進行等分刻畫。華氏度以,1,標準大氣壓下水的,結冰點為,32,度,沸點為,212,度,將溫度進行等分刻畫,問題:如何利用,Python,程序進行攝氏度和華氏度之間的轉換,溫度體系,步驟,1,分析問題。這里給出三個角度,第一,利用程序進行溫度轉換,由用戶輸入溫度值,程序給出輸出結,果。這是最直觀的理解。(我們將以第一種理解角度為例編寫并講解,余下程序步驟。,溫度轉換實例,第二,可以通過程序自動監(jiān)聽溫度信息發(fā)布渠道(如收音機、電視機,等)給出的溫

2、度播報源數(shù)據(jù),通過語音識別、圖像識別等方法自動獲,得溫度值,再由程序完成轉換輸出給用戶。這種角度相比第一種不需,要用戶給出輸入,第三,隨著互聯(lián)網(wǎng)的高度普及和接入的便捷,程序也可以定期從溫度,信息發(fā)布網(wǎng)站獲得溫度值,再將溫度信息轉換成旅行者熟悉的方式,溫度轉換實例,步驟,2,劃分邊界:在確定問題計算部分的基礎上進一步劃分問題,邊界,即明確問題的輸入數(shù)據(jù)、輸出數(shù)據(jù)和對數(shù)據(jù)處理的要求。由于,程序可能接收華氏溫度和攝氏溫度,并轉換為另一種,該功能的,IPO,描述如下,輸入:華氏或者攝氏溫度值、溫度標識,處理:溫度轉化算法,輸出:華氏或者攝氏溫度值、溫度標識,溫度轉換實例,步驟,3,設計算法,F,表示華

3、氏度,82F,表示華氏,82,度,C,表示攝氏度,28C,表示攝氏,28,度,根據(jù)華氏和攝氏溫度定義,轉換公式如下,C = ( F,32 ) / 1.8,F = C * 1.8 + 32,溫度轉換實例,步驟,4,編寫程序,溫度轉換實例,步驟,5,調試、運行程序,在系統(tǒng)命令行上運行如下命令執(zhí)行程序,C:python TempConvert.py,或者:使用,IDLE,打開上述文件,按,F5,運行(推薦,輸入數(shù)值,觀察輸出,溫度轉換實例,步驟,6,升級維護,與人一樣,任何程序都有生命周期。促使程序生命結束的事件有,很多,例如:平臺更換、使用方式變化、算法改進等。對于上述例子,只要中國、美國使用不同

4、的溫度標準,溫度轉換的問題將一直存在,隨著問題使用場景、輸入和輸出要求等因素的變化,程序將需要不,斷地維護和升級,溫度轉換實例,Python,語法元素分析,Python,語言采用嚴格的“縮進”來表明程序的格式框架。縮進,指每一行代碼開始前的空白區(qū)域,用來表示代碼之間的包含和層,次關系,1,個縮進,4,個空格,縮進是,Python,語言中表明程序框架的唯一手段,程序的格式框架,單層縮進,多層縮進,程序的格式框架,注釋:程序員在代碼中加入的說明信息,不被計算機執(zhí)行,注釋的兩種方法,單行注釋以,開頭,Here,are,the,comments,多行注釋以,開頭和結尾,This,is,a,multil

5、ine,comment,used,in,Python,注釋,注釋主要有三個用途。第一,標明作者和版權信息。在每個源代碼,文件開始若干行增加注釋,標記編寫代碼的作者、日期、用途、版權,聲明等信息,第二,解釋代碼原理或用途。在程序關鍵代碼附近增加注釋,解釋,關鍵代碼作用,增加程序的可讀性,第三,輔助程序調試。在調試程序時候,可以通過單行或多行注釋,臨時“去掉”一行或連續(xù)多行與當前調試無關的代碼,輔助程序員找,到程序發(fā)生問題的可能位置,注釋,常量:程序中值不發(fā)生改變的元素,變量:程序中值發(fā)生改變或者可以發(fā)生改變的元素,Python,語言允許采用大寫字母、小寫字母、數(shù)字、下劃線,_,和漢字等字符及其組

6、合給變量命名,但名字的首字符不能是數(shù)字,中間不能出現(xiàn)空格,長度沒有限制,注意:標識符對大小寫敏感,python,和,Python,是兩個不同的名,字,命名與保留字,Python 3.x,保留字列表,33,個,命名與保留字,存儲和處理文本信息在計算機應用中十分常見?!拔谋尽痹诔绦蛑?用字符串,string,類型來表示,Python,語言中,字符串是用兩個,雙引號,或者單引號,括起來的一個或多個字符。實例代碼,1.1,中第,2,3,5,6,8,10,行代碼都包含帶有雙引號的字符串,字符串,字符串包括兩種序號體系:正向遞增序號和反向遞減序號,如果字符串長度為,L,正向遞增需要以最左側字符序號為,0,

7、向右依,次遞增,最右側字符序號為,L-1,反向遞減序號以最右側字符序號為,1,向左依次遞減,最左側字符序號為,L,字符串,Python,語言中,表示“賦值”,即將等號右側的值計算后,將結果值賦給左側變量,包含等號,的語句稱為,賦值語,句,Python,字符串的兩種序號體系,同步賦值語句:同時給多個變量賦值,變量,1,變量,N,表達式,1,表達式,N,賦值語句,例:將變量,x,和,y,交換,采用單個賦值,需要,3,行語句:即通過一個臨時變量,t,緩存,x,的原,始值,然后將,y,值賦給,x,再將,x,的原始值通過,t,賦值給,y,t = x,x = y,y = t,賦值語句,采用同步賦值語句,僅

8、需要一行代碼,x,y,y,x,賦值語句,獲得用戶輸入之前,input(,函數(shù)可以包含一些提示性文字,變量,= input,提示性文字,Imput(,函數(shù),分支語句是控制程序運行的一類重要語句,它的作用是根據(jù)判斷條,件選擇程序執(zhí)行路徑,使用方式如下,if,條件,1,語句塊,1,elif,條件,2,語句塊,2,else,語句塊,N,分支語句,if,elif,else,都是保留字,else,后面不增加條件,表示不滿足,其他,if,語句的所有其余情況,實例代碼,1.1,中第,3,6,9,行采用了,if-elif,else,類型的分支,語句,如下,分支語句,其中,第,3,行,if,語句包含第一個條件表達

9、式,TempStr-1 in F, f,該表達式由保留字,in,組成,表示判斷字符串,TempStr,的最后一個,字符,TempStr-1,是否在一個由,F,或者,f,組成的集合中,即,TempStr-1,是否等于,F,或者,f,如果相等,則返回,True,否,則返回,False,分支語句,對于,if,語句來說,當,in,表達式返回,True,時,執(zhí)行第,4,5,行語句內,容,如果返回,False,則執(zhí)行第,6,行的,elif,語句,判斷下一個條件,第,3,行語句判斷用戶輸入的溫度值是否是華氏度,同理,第,6,行,elif,語句判斷字符串,TempStr,的最后一個字符,TempStr-1,是

10、否在一個由,C,或者,c,組成的“集合”中,如果,條件成立,則繼續(xù)執(zhí)行第,7,8,行語句,否則執(zhí)行第,9,行語句。第,6,行,語句判斷用戶輸入的溫度值是否是攝氏度,分支語句,第,9,行,else,語句沒有判斷條件,表示當所有,if,elif,條件都不滿,足時所執(zhí)行的語句。表示用戶輸入的內容不符合預定義的攝氏溫度值,和華氏溫度值格式,對于該程序來說,用戶輸入出現(xiàn)了錯誤,分支語句,用戶輸入兩個數(shù)字,計算它們的平均數(shù),并輸出平均數(shù),Eval,函數(shù),簡單說,eval,字符串,的作用是將輸入的字符串內容變成,Python,語句,并執(zhí)行這個語句。實例代碼,1.1,使用,eval(,函數(shù)將用,戶的部分輸入,

11、TempStr0:-1,由字符串轉換成數(shù)字,假設用戶,輸入,日屃,經(jīng)過,eval(,函數(shù)處理,將變成,Python,內部可進行數(shù),學運算的數(shù)值,102,Eval,函數(shù),使用,eval(,函數(shù)處理字符串需要注意合理使用,例如,如果直接,輸入字符串,桜汥潬,eval(,函數(shù)將去掉兩個引號,解釋其為一個,變量,由于之前沒有定義過,hello,變量,解釋器報錯。當輸入字符串,梯汥潬,時,eval(,函數(shù)去掉外部雙引號后,內部還有一個引號,則,hello,被解釋為字符串,eval(,函數(shù)還有很多作用,請讀者,在實踐中逐步挖掘,Eval,函數(shù),Eval,函數(shù),如果希望用戶輸入一個數(shù)字,可以是小數(shù)或負數(shù),并

12、用程序對這個,數(shù)字進行計算,可以采用,eval(input,輸入提示字符串,的組合,例如,Eval,函數(shù),實例代碼,1.1,中第,5,8,10,行是,print,待輸出字符串,輸出函,數(shù),用來輸出字符信息,也能夠以字符形式輸出變量,當輸出純字符信息時,可以直接將待輸出內容傳遞給,print(,函數(shù),如第,10,行,當輸出變量值時,需要采用格式化輸出方式,通過,format(,方法,將待輸出變量整理成期望輸出的格式,如第,5,和,8,行,print(,函數(shù),具體來說,print(,函數(shù)用槽格式和,format(,方法將變量和字符,串結合到一起輸出。例如第,5,行,輸出的模板字符串是,轉換后的溫度

13、是,金給屃,其中大括號,表示一個槽位置,這個括號中的內容由字符,串后面緊跟的,format(,方法中的參數(shù),C,填充。大括號,.2f,中內容表,示變量,C,輸出的格式,具體表示輸出數(shù)值取兩位小數(shù)值,print(,函數(shù),用兩個小例子感受一下這段程序的魅力吧,print(,函數(shù),循環(huán)語句:控制程序運行,根據(jù)判斷條件或計數(shù)條件確定一段程,序的運行次數(shù),遍歷循環(huán),基本過程如下,for,i,in,range,計數(shù)值,表達式,1,例如,使某一段程序連續(xù)運行,10,次,for,i,in,range,10,源代碼,循環(huán)語句,實例代碼,1.1,和實例代碼,1.2,都是由一個序列表達式組成,程序按照,順序方式從頭

14、執(zhí)行到尾。實際編程中,一般將特定功能代碼編寫在一,個函數(shù)里,便于閱讀和復用,也使程序模塊化更好,函數(shù)可以理解為對一組表達特定功能表達式的封裝,它與數(shù)學函數(shù),類似,能夠接收變量并輸出結果,input(,print(,eval(,都是,Python,解釋器內置的函數(shù),函數(shù),經(jīng)過函數(shù)改造后的溫度轉換程序實例代碼,1.3,如下所示,函數(shù),實例代碼第,2,行的,def,保留字定義了一個函數(shù),從第,2,行到第,10,行,該函數(shù)名字為,tempConvert(,它使用一個參數(shù),ValueStr,tempConvert(,函數(shù)所屬代碼是第,2,行后與之有縮進關系的代碼,即第,3,到,10,行。在這些代碼中,ValueStr,變量作為輸入函數(shù)的字符串,使用。由,def,保留字定義的函數(shù)在程序中不直接執(zhí)行,需要使用函數(shù),名稱調用才能執(zhí)行,函數(shù),第,11,行由于沒有縮進,它與第,2,行是平行關系,程序第,1,行到第,10,行不直接執(zhí)行,從第,11,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論