Python電子教案2-1 Python程序?qū)嵗馕鯻第1頁(yè)
Python電子教案2-1 Python程序?qū)嵗馕鯻第2頁(yè)
Python電子教案2-1 Python程序?qū)嵗馕鯻第3頁(yè)
Python電子教案2-1 Python程序?qū)嵗馕鯻第4頁(yè)
Python電子教案2-1 Python程序?qū)嵗馕鯻第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第2章 Python程序?qū)嵗馕?溫度轉(zhuǎn)換程序?qū)嵗?溫度刻畫(huà)存在不同體系,攝氏度以1標(biāo)準(zhǔn)大氣壓下水的結(jié)冰點(diǎn)為0度,沸點(diǎn)為100度,將溫度進(jìn)行等分刻畫(huà)。華氏度以1標(biāo)準(zhǔn)大氣壓下水的結(jié)冰點(diǎn)為32度,沸點(diǎn)為212度,將溫度進(jìn)行等分刻畫(huà)。 問(wèn)題:如何利用Python程序進(jìn)行攝氏度和華氏度之間的轉(zhuǎn)換,溫度體系,步驟1:分析問(wèn)題。這里給出三個(gè)角度。 第一,利用程序進(jìn)行溫度轉(zhuǎn)換,由用戶輸入溫度值,程序給出輸出結(jié)果。這是最直觀的理解。(我們將以第一種理解角度為例編寫(xiě)并講解余下程序步驟。),溫度轉(zhuǎn)換實(shí)例,第二,可以通過(guò)程序自動(dòng)監(jiān)聽(tīng)溫度信息發(fā)布渠道(如收音機(jī)、電視機(jī)等)給出的溫度播報(bào)源數(shù)據(jù),通過(guò)語(yǔ)音識(shí)別、圖像識(shí)別等

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

3、示攝氏28度 根據(jù)華氏和攝氏溫度定義,轉(zhuǎn)換公式如下: C = ( F 32 ) / 1.8 F = C * 1.8 + 32,溫度轉(zhuǎn)換實(shí)例,步驟4:編寫(xiě)程序,溫度轉(zhuǎn)換實(shí)例,步驟5:調(diào)試、運(yùn)行程序 在系統(tǒng)命令行上運(yùn)行如下命令執(zhí)行程序: C:python TempConvert.py 或者:使用IDLE打開(kāi)上述文件,按F5運(yùn)行(推薦) 輸入數(shù)值,觀察輸出,溫度轉(zhuǎn)換實(shí)例,步驟6:升級(jí)維護(hù) 與人一樣,任何程序都有生命周期。促使程序生命結(jié)束的事件有很多,例如:平臺(tái)更換、使用方式變化、算法改進(jìn)等。對(duì)于上述例子,只要中國(guó)、美國(guó)使用不同的溫度標(biāo)準(zhǔn),溫度轉(zhuǎn)換的問(wèn)題將一直存在。隨著問(wèn)題使用場(chǎng)景、輸入和輸出要求等因

4、素的變化,程序?qū)⑿枰粩嗟鼐S護(hù)和升級(jí),溫度轉(zhuǎn)換實(shí)例,Python語(yǔ)法元素分析,Python語(yǔ)言采用嚴(yán)格的“縮進(jìn)”來(lái)表明程序的格式框架??s進(jìn)指每一行代碼開(kāi)始前的空白區(qū)域,用來(lái)表示代碼之間的包含和層次關(guān)系。 1個(gè)縮進(jìn) = 4個(gè)空格 縮進(jìn)是Python語(yǔ)言中表明程序框架的唯一手段,程序的格式框架,單層縮進(jìn) 多層縮進(jìn),程序的格式框架,注釋:程序員在代碼中加入的說(shuō)明信息,不被計(jì)算機(jī)執(zhí)行 注釋的兩種方法: 單行注釋以#開(kāi)頭 #Here are the comments 多行注釋以 開(kāi)頭和結(jié)尾 This is a multiline comment used in Python ,注釋,注釋主要有三個(gè)用途。

5、第一,標(biāo)明作者和版權(quán)信息。在每個(gè)源代碼文件開(kāi)始若干行增加注釋,標(biāo)記編寫(xiě)代碼的作者、日期、用途、版權(quán)聲明等信息 第二,解釋代碼原理或用途。在程序關(guān)鍵代碼附近增加注釋,解釋關(guān)鍵代碼作用,增加程序的可讀性。 第三,輔助程序調(diào)試。在調(diào)試程序時(shí)候,可以通過(guò)單行或多行注釋臨時(shí)“去掉”一行或連續(xù)多行與當(dāng)前調(diào)試無(wú)關(guān)的代碼,輔助程序員找到程序發(fā)生問(wèn)題的可能位置。,注釋,常量:程序中值不發(fā)生改變的元素 變量:程序中值發(fā)生改變或者可以發(fā)生改變的元素 Python語(yǔ)言允許采用大寫(xiě)字母、小寫(xiě)字母、數(shù)字、下劃線(_)和漢字等字符及其組合給變量命名,但名字的首字符不能是數(shù)字,中間不能出現(xiàn)空格,長(zhǎng)度沒(méi)有限制 注意:標(biāo)識(shí)符對(duì)大

6、小寫(xiě)敏感,python和Python是兩個(gè)不同的名字,命名與保留字,Python 3.x保留字列表 (33個(gè)),命名與保留字,存儲(chǔ)和處理文本信息在計(jì)算機(jī)應(yīng)用中十分常見(jiàn)?!拔谋尽痹诔绦蛑杏米址╯tring)類型來(lái)表示。Python語(yǔ)言中,字符串是用兩個(gè)雙引號(hào) 或者單引號(hào) 括起來(lái)的一個(gè)或多個(gè)字符。實(shí)例代碼1.1中第2、3、5、6、8、10行代碼都包含帶有雙引號(hào)的字符串。,字符串,字符串包括兩種序號(hào)體系:正向遞增序號(hào)和反向遞減序號(hào)。 如果字符串長(zhǎng)度為L(zhǎng):正向遞增需要以最左側(cè)字符序號(hào)為0,向右依次遞增,最右側(cè)字符序號(hào)為L(zhǎng)-1;反向遞減序號(hào)以最右側(cè)字符序號(hào)為-1,向左依次遞減,最左側(cè)字符序號(hào)為-L。

7、,字符串,Python語(yǔ)言中,= 表示“賦值”,即將等號(hào)右側(cè)的值計(jì)算后將結(jié)果值賦給左側(cè)變量,包含等號(hào)(=)的語(yǔ)句稱為“賦值語(yǔ)句”P(pán)ython字符串的兩種序號(hào)體系 同步賦值語(yǔ)句:同時(shí)給多個(gè)變量賦值 , , = , , ,賦值語(yǔ)句,例:將變量x和y交換 采用單個(gè)賦值,需要3行語(yǔ)句:即通過(guò)一個(gè)臨時(shí)變量t緩存x的原始值,然后將y值賦給x,再將x的原始值通過(guò)t賦值給y。 t = x x = y y = t,賦值語(yǔ)句,采用同步賦值語(yǔ)句,僅需要一行代碼: x, y = y, x,賦值語(yǔ)句,獲得用戶輸入之前,input()函數(shù)可以包含一些提示性文字 = input(),Imput( )函數(shù),分支語(yǔ)句是控制程序

8、運(yùn)行的一類重要語(yǔ)句,它的作用是根據(jù)判斷條件選擇程序執(zhí)行路徑,使用方式如下: if : elif : . else: ,分支語(yǔ)句,if、elif、else都是保留字,else后面不增加條件,表示不滿足其他if語(yǔ)句的所有其余情況。 實(shí)例代碼1.1中第3、6、9行采用了“if-elif-else”類型的分支語(yǔ)句,如下:,分支語(yǔ)句,其中,第3行if語(yǔ)句包含第一個(gè)條件表達(dá)式: TempStr-1 in F, f 該表達(dá)式由保留字in組成,表示判斷字符串TempStr的最后一個(gè)字符(TempStr-1)是否在一個(gè)由F或者f組成的集合中,即TempStr-1是否等于F或者f。如果相等,則返回True,否則返

9、回False。,分支語(yǔ)句,對(duì)于if語(yǔ)句來(lái)說(shuō),當(dāng)in表達(dá)式返回True時(shí),執(zhí)行第4、5行語(yǔ)句內(nèi)容,如果返回False,則執(zhí)行第6行的elif語(yǔ)句,判斷下一個(gè)條件。第3行語(yǔ)句判斷用戶輸入的溫度值是否是華氏度。 同理,第6行elif語(yǔ)句判斷字符串TempStr的最后一個(gè)字符(TempStr-1)是否在一個(gè)由C或者c組成的“集合”中,如果條件成立,則繼續(xù)執(zhí)行第7、8行語(yǔ)句,否則執(zhí)行第9行語(yǔ)句。第6行語(yǔ)句判斷用戶輸入的溫度值是否是攝氏度。,分支語(yǔ)句,第9行else語(yǔ)句沒(méi)有判斷條件,表示當(dāng)所有if、elif條件都不滿足時(shí)所執(zhí)行的語(yǔ)句。表示用戶輸入的內(nèi)容不符合預(yù)定義的攝氏溫度值和華氏溫度值格式,對(duì)于該程序來(lái)

10、說(shuō),用戶輸入出現(xiàn)了錯(cuò)誤。,分支語(yǔ)句,用戶輸入兩個(gè)數(shù)字,計(jì)算它們的平均數(shù),并輸出平均數(shù),Eval()函數(shù),簡(jiǎn)單說(shuō),eval()的作用是將輸入的字符串內(nèi)容變成Python語(yǔ)句,并執(zhí)行這個(gè)語(yǔ)句。實(shí)例代碼1.1使用eval()函數(shù)將用戶的部分輸入(TempStr0:-1)由字符串轉(zhuǎn)換成數(shù)字,假設(shè)用戶輸入102C,經(jīng)過(guò)eval()函數(shù)處理,將變成Python內(nèi)部可進(jìn)行數(shù)學(xué)運(yùn)算的數(shù)值102。,Eval()函數(shù),使用eval()函數(shù)處理字符串需要注意合理使用,例如,如果直接輸入字符串hello,eval()函數(shù)將去掉兩個(gè)引號(hào),解釋其為一個(gè)變量,由于之前沒(méi)有定義過(guò)hello變量,解釋器報(bào)錯(cuò)。當(dāng)輸入字符串hel

11、lo時(shí),eval()函數(shù)去掉外部雙引號(hào)后,內(nèi)部還有一個(gè)引號(hào),則hello被解釋為字符串。eval()函數(shù)還有很多作用,請(qǐng)讀者在實(shí)踐中逐步挖掘。,Eval()函數(shù),Eval()函數(shù),如果希望用戶輸入一個(gè)數(shù)字,可以是小數(shù)或負(fù)數(shù),并用程序?qū)@個(gè)數(shù)字進(jìn)行計(jì)算,可以采用eval(input()的組合,例如:,Eval()函數(shù),實(shí)例代碼1.1中第5、8、10行是print()輸出函數(shù),用來(lái)輸出字符信息,也能夠以字符形式輸出變量。 當(dāng)輸出純字符信息時(shí),可以直接將待輸出內(nèi)容傳遞給print()函數(shù),如第10行。 當(dāng)輸出變量值時(shí),需要采用格式化輸出方式,通過(guò)format()方法將待輸出變量整理成期望輸出的格式,

12、如第5和8行。,print()函數(shù),具體來(lái)說(shuō),print()函數(shù)用槽格式和format()方法將變量和字符串結(jié)合到一起輸出。例如第5行,輸出的模板字符串是轉(zhuǎn)換后的溫度是:.2fC,其中大括號(hào)表示一個(gè)槽位置,這個(gè)括號(hào)中的內(nèi)容由字符串后面緊跟的format()方法中的參數(shù)C填充。大括號(hào):.2f中內(nèi)容表示變量C輸出的格式,具體表示輸出數(shù)值取兩位小數(shù)值,print()函數(shù),用兩個(gè)小例子感受一下這段程序的魅力吧,print()函數(shù),循環(huán)語(yǔ)句:控制程序運(yùn)行,根據(jù)判斷條件或計(jì)數(shù)條件確定一段程序的運(yùn)行次數(shù) 遍歷循環(huán),基本過(guò)程如下 for i in range (): 例如,使某一段程序連續(xù)運(yùn)行10次 for

13、i in range (10): ,循環(huán)語(yǔ)句,實(shí)例代碼1.1和實(shí)例代碼1.2都是由一個(gè)序列表達(dá)式組成,程序按照順序方式從頭執(zhí)行到尾。實(shí)際編程中,一般將特定功能代碼編寫(xiě)在一個(gè)函數(shù)里,便于閱讀和復(fù)用,也使程序模塊化更好。 函數(shù)可以理解為對(duì)一組表達(dá)特定功能表達(dá)式的封裝,它與數(shù)學(xué)函數(shù)類似,能夠接收變量并輸出結(jié)果。input()、print()、eval()都是Python解釋器內(nèi)置的函數(shù)。,函數(shù),經(jīng)過(guò)函數(shù)改造后的溫度轉(zhuǎn)換程序?qū)嵗a1.3如下所示。,函數(shù),實(shí)例代碼第2行的def保留字定義了一個(gè)函數(shù),從第2行到第10行,該函數(shù)名字為tempConvert(),它使用一個(gè)參數(shù)ValueStr。 tempConvert()函數(shù)所屬代碼是第2行后與之有縮進(jìn)關(guān)系的代碼,即第3到10行。在這些代碼中,ValueStr變量作為輸入函數(shù)的字符串使用。由def保留字定義的函數(shù)在程序中不直接執(zhí)行,需要使用函數(shù)名稱調(diào)用才能執(zhí)行。,函數(shù),第11行由于沒(méi)有縮進(jìn),它與第2行是平行關(guān)系,程序第1行到第10行不直接執(zhí)行,從第1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論