




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第2章 Python程序?qū)嵗馕?溫度轉(zhuǎn)換程序?qū)嵗?溫度刻畫存在不同體系,攝氏度以1標準大氣壓下水的結冰點為0度,沸點為100度,將溫度進行等分刻畫。華氏度以1標準大氣壓下水的結冰點為32度,沸點為212度,將溫度進行等分刻畫。 問題:如何利用Python程序進行攝氏度和華氏度之間的轉(zhuǎn)換,溫度體系,步驟1:分析問題。這里給出三個角度。 第一,利用程序進行溫度轉(zhuǎn)換,由用戶輸入溫度值,程序給出輸出結果。這是最直觀的理解。(我們將以第一種理解角度為例編寫并講解余下程序步驟。),溫度轉(zhuǎn)換實例,第二,可以通過程序自動監(jiān)聽溫度信息發(fā)布渠道(如收音機、電視機等)給出的溫度播報源數(shù)據(jù),通過語音識別、圖像識別等
2、方法自動獲得溫度值,再由程序完成轉(zhuǎn)換輸出給用戶。這種角度相比第一種不需要用戶給出輸入。 第三,隨著互聯(lián)網(wǎng)的高度普及和接入的便捷,程序也可以定期從溫度信息發(fā)布網(wǎng)站獲得溫度值,再將溫度信息轉(zhuǎn)換成旅行者熟悉的方式。,溫度轉(zhuǎn)換實例,步驟2:劃分邊界:在確定問題計算部分的基礎上進一步劃分問題邊界,即明確問題的輸入數(shù)據(jù)、輸出數(shù)據(jù)和對數(shù)據(jù)處理的要求。由于程序可能接收華氏溫度和攝氏溫度,并轉(zhuǎn)換為另一種,該功能的IPO描述如下: 輸入:華氏或者攝氏溫度值、溫度標識 處理:溫度轉(zhuǎn)化算法 輸出:華氏或者攝氏溫度值、溫度標識,溫度轉(zhuǎn)換實例,步驟3:設計算法, F表示華氏度,82F表示華氏82度 C表示攝氏度,28C表
3、示攝氏28度 根據(jù)華氏和攝氏溫度定義,轉(zhuǎn)換公式如下: C = ( F 32 ) / 1.8 F = C * 1.8 + 32,溫度轉(zhuǎn)換實例,步驟4:編寫程序,溫度轉(zhuǎn)換實例,步驟5:調(diào)試、運行程序 在系統(tǒng)命令行上運行如下命令執(zhí)行程序: C:python TempConvert.py 或者:使用IDLE打開上述文件,按F5運行(推薦) 輸入數(shù)值,觀察輸出,溫度轉(zhuǎn)換實例,步驟6:升級維護 與人一樣,任何程序都有生命周期。促使程序生命結束的事件有很多,例如:平臺更換、使用方式變化、算法改進等。對于上述例子,只要中國、美國使用不同的溫度標準,溫度轉(zhuǎn)換的問題將一直存在。隨著問題使用場景、輸入和輸出要求等因
4、素的變化,程序?qū)⑿枰粩嗟鼐S護和升級,溫度轉(zhuǎn)換實例,Python語法元素分析,Python語言采用嚴格的“縮進”來表明程序的格式框架??s進指每一行代碼開始前的空白區(qū)域,用來表示代碼之間的包含和層次關系。 1個縮進 = 4個空格 縮進是Python語言中表明程序框架的唯一手段,程序的格式框架,單層縮進 多層縮進,程序的格式框架,注釋:程序員在代碼中加入的說明信息,不被計算機執(zhí)行 注釋的兩種方法: 單行注釋以#開頭 #Here are the comments 多行注釋以 開頭和結尾 This is a multiline comment used in Python ,注釋,注釋主要有三個用途。
5、第一,標明作者和版權信息。在每個源代碼文件開始若干行增加注釋,標記編寫代碼的作者、日期、用途、版權聲明等信息 第二,解釋代碼原理或用途。在程序關鍵代碼附近增加注釋,解釋關鍵代碼作用,增加程序的可讀性。 第三,輔助程序調(diào)試。在調(diào)試程序時候,可以通過單行或多行注釋臨時“去掉”一行或連續(xù)多行與當前調(diào)試無關的代碼,輔助程序員找到程序發(fā)生問題的可能位置。,注釋,常量:程序中值不發(fā)生改變的元素 變量:程序中值發(fā)生改變或者可以發(fā)生改變的元素 Python語言允許采用大寫字母、小寫字母、數(shù)字、下劃線(_)和漢字等字符及其組合給變量命名,但名字的首字符不能是數(shù)字,中間不能出現(xiàn)空格,長度沒有限制 注意:標識符對大
6、小寫敏感,python和Python是兩個不同的名字,命名與保留字,Python 3.x保留字列表 (33個),命名與保留字,存儲和處理文本信息在計算機應用中十分常見?!拔谋尽痹诔绦蛑杏米址╯tring)類型來表示。Python語言中,字符串是用兩個雙引號 或者單引號 括起來的一個或多個字符。實例代碼1.1中第2、3、5、6、8、10行代碼都包含帶有雙引號的字符串。,字符串,字符串包括兩種序號體系:正向遞增序號和反向遞減序號。 如果字符串長度為L:正向遞增需要以最左側(cè)字符序號為0,向右依次遞增,最右側(cè)字符序號為L-1;反向遞減序號以最右側(cè)字符序號為-1,向左依次遞減,最左側(cè)字符序號為-L。
7、,字符串,Python語言中,= 表示“賦值”,即將等號右側(cè)的值計算后將結果值賦給左側(cè)變量,包含等號(=)的語句稱為“賦值語句”Python字符串的兩種序號體系 同步賦值語句:同時給多個變量賦值 , , = , , ,賦值語句,例:將變量x和y交換 采用單個賦值,需要3行語句:即通過一個臨時變量t緩存x的原始值,然后將y值賦給x,再將x的原始值通過t賦值給y。 t = x x = y y = t,賦值語句,采用同步賦值語句,僅需要一行代碼: x, y = y, x,賦值語句,獲得用戶輸入之前,input()函數(shù)可以包含一些提示性文字 = input(),Imput( )函數(shù),分支語句是控制程序
8、運行的一類重要語句,它的作用是根據(jù)判斷條件選擇程序執(zhí)行路徑,使用方式如下: if : elif : . else: ,分支語句,if、elif、else都是保留字,else后面不增加條件,表示不滿足其他if語句的所有其余情況。 實例代碼1.1中第3、6、9行采用了“if-elif-else”類型的分支語句,如下:,分支語句,其中,第3行if語句包含第一個條件表達式: TempStr-1 in F, f 該表達式由保留字in組成,表示判斷字符串TempStr的最后一個字符(TempStr-1)是否在一個由F或者f組成的集合中,即TempStr-1是否等于F或者f。如果相等,則返回True,否則返
9、回False。,分支語句,對于if語句來說,當in表達式返回True時,執(zhí)行第4、5行語句內(nèi)容,如果返回False,則執(zhí)行第6行的elif語句,判斷下一個條件。第3行語句判斷用戶輸入的溫度值是否是華氏度。 同理,第6行elif語句判斷字符串TempStr的最后一個字符(TempStr-1)是否在一個由C或者c組成的“集合”中,如果條件成立,則繼續(xù)執(zhí)行第7、8行語句,否則執(zhí)行第9行語句。第6行語句判斷用戶輸入的溫度值是否是攝氏度。,分支語句,第9行else語句沒有判斷條件,表示當所有if、elif條件都不滿足時所執(zhí)行的語句。表示用戶輸入的內(nèi)容不符合預定義的攝氏溫度值和華氏溫度值格式,對于該程序來
10、說,用戶輸入出現(xiàn)了錯誤。,分支語句,用戶輸入兩個數(shù)字,計算它們的平均數(shù),并輸出平均數(shù),Eval()函數(shù),簡單說,eval()的作用是將輸入的字符串內(nèi)容變成Python語句,并執(zhí)行這個語句。實例代碼1.1使用eval()函數(shù)將用戶的部分輸入(TempStr0:-1)由字符串轉(zhuǎn)換成數(shù)字,假設用戶輸入102C,經(jīng)過eval()函數(shù)處理,將變成Python內(nèi)部可進行數(shù)學運算的數(shù)值102。,Eval()函數(shù),使用eval()函數(shù)處理字符串需要注意合理使用,例如,如果直接輸入字符串hello,eval()函數(shù)將去掉兩個引號,解釋其為一個變量,由于之前沒有定義過hello變量,解釋器報錯。當輸入字符串hel
11、lo時,eval()函數(shù)去掉外部雙引號后,內(nèi)部還有一個引號,則hello被解釋為字符串。eval()函數(shù)還有很多作用,請讀者在實踐中逐步挖掘。,Eval()函數(shù),Eval()函數(shù),如果希望用戶輸入一個數(shù)字,可以是小數(shù)或負數(shù),并用程序?qū)@個數(shù)字進行計算,可以采用eval(input()的組合,例如:,Eval()函數(shù),實例代碼1.1中第5、8、10行是print()輸出函數(shù),用來輸出字符信息,也能夠以字符形式輸出變量。 當輸出純字符信息時,可以直接將待輸出內(nèi)容傳遞給print()函數(shù),如第10行。 當輸出變量值時,需要采用格式化輸出方式,通過format()方法將待輸出變量整理成期望輸出的格式,
12、如第5和8行。,print()函數(shù),具體來說,print()函數(shù)用槽格式和format()方法將變量和字符串結合到一起輸出。例如第5行,輸出的模板字符串是轉(zhuǎn)換后的溫度是:.2fC,其中大括號表示一個槽位置,這個括號中的內(nèi)容由字符串后面緊跟的format()方法中的參數(shù)C填充。大括號:.2f中內(nèi)容表示變量C輸出的格式,具體表示輸出數(shù)值取兩位小數(shù)值,print()函數(shù),用兩個小例子感受一下這段程序的魅力吧,print()函數(shù),循環(huán)語句:控制程序運行,根據(jù)判斷條件或計數(shù)條件確定一段程序的運行次數(shù) 遍歷循環(huán),基本過程如下 for i in range (): 例如,使某一段程序連續(xù)運行10次 for
13、i in range (10): ,循環(huán)語句,實例代碼1.1和實例代碼1.2都是由一個序列表達式組成,程序按照順序方式從頭執(zhí)行到尾。實際編程中,一般將特定功能代碼編寫在一個函數(shù)里,便于閱讀和復用,也使程序模塊化更好。 函數(shù)可以理解為對一組表達特定功能表達式的封裝,它與數(shù)學函數(shù)類似,能夠接收變量并輸出結果。input()、print()、eval()都是Python解釋器內(nèi)置的函數(shù)。,函數(shù),經(jīng)過函數(shù)改造后的溫度轉(zhuǎn)換程序?qū)嵗a1.3如下所示。,函數(shù),實例代碼第2行的def保留字定義了一個函數(shù),從第2行到第10行,該函數(shù)名字為tempConvert(),它使用一個參數(shù)ValueStr。 tempConvert()函數(shù)所屬代碼是第2行后與之有縮進關系的代碼,即第3到10行。在這些代碼中,ValueStr變量作為輸入函數(shù)的字符串使用。由def保留字定義的函數(shù)在程序中不直接執(zhí)行,需要使用函數(shù)名稱調(diào)用才能執(zhí)行。,函數(shù),第11行由于沒有縮進,它與第2行是平行關系,程序第1行到第10行不直接執(zhí)行,從第1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療輔助教育數(shù)據(jù)的解讀與利用
- 兒童心理健康與共情能力的關系研究
- 學習動機從理論到實踐的教育心理學解讀
- 學生學習成效與心理支持的關聯(lián)性
- 抖音商戶剪輯師成片質(zhì)量評估制度
- 全球創(chuàng)新藥研發(fā)管線動態(tài)與2025年生物制藥行業(yè)研發(fā)創(chuàng)新成果轉(zhuǎn)化路徑優(yōu)化路徑優(yōu)化分析報告
- 八大城市幼教市場洞察:2025年幼兒早期教育產(chǎn)品與服務創(chuàng)新報告
- 公交優(yōu)先戰(zhàn)略在城市交通擁堵治理中的2025年實施挑戰(zhàn)報告
- Calanolide-A-生命科學試劑-MCE
- 廣西醫(yī)科大學《日語論文寫作》2023-2024學年第一學期期末試卷
- 財務審計財務審計進度控制方案
- 井下作業(yè)工:初級井下作業(yè)工考試答案
- 架線弧垂計算表(應力弧垂插值計算)
- 保安培訓課程表(完整版)咨詢培訓
- 《飛機電子顯示器顯示符號》
- 贏利:未來10年的經(jīng)營能力
- 光伏支架風荷載分析
- 頭等大事:脫發(fā)青年自救指南
- 馬拉色菌相關疾病診療指南(2022年版)
- 哈雷之約:基于指數(shù)成分股調(diào)整的選股策略
- 湖北省隨州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細及行政區(qū)劃代碼
評論
0/150
提交評論