Python程序設(shè)計(jì)現(xiàn)代方法第2章--Python實(shí)例設(shè)計(jì)與分析_第1頁(yè)
Python程序設(shè)計(jì)現(xiàn)代方法第2章--Python實(shí)例設(shè)計(jì)與分析_第2頁(yè)
Python程序設(shè)計(jì)現(xiàn)代方法第2章--Python實(shí)例設(shè)計(jì)與分析_第3頁(yè)
Python程序設(shè)計(jì)現(xiàn)代方法第2章--Python實(shí)例設(shè)計(jì)與分析_第4頁(yè)
Python程序設(shè)計(jì)現(xiàn)代方法第2章--Python實(shí)例設(shè)計(jì)與分析_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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實(shí)例設(shè)計(jì)與分析代碼風(fēng)格Python變量基本輸入/輸出結(jié)構(gòu)控制函數(shù)式編程模塊化編程學(xué)習(xí)目標(biāo)了解掌握熟悉掌握了解turtle模塊的基礎(chǔ)函數(shù)12熟悉程序編寫(xiě)與設(shè)計(jì)方法、Python程序的結(jié)構(gòu)掌握Python語(yǔ)言的基本語(yǔ)法34掌握模塊的導(dǎo)入方法目錄點(diǎn)擊查看本節(jié)相關(guān)知識(shí)點(diǎn)代碼風(fēng)格2.22.1實(shí)例1:貨幣兌換點(diǎn)擊查看本節(jié)相關(guān)知識(shí)點(diǎn)2.3變量點(diǎn)擊查看本節(jié)相關(guān)知識(shí)點(diǎn)2.4基本輸入輸出目錄函數(shù)式編程2.62.5結(jié)構(gòu)控制實(shí)例2:turtle Star2.7點(diǎn)擊查看本節(jié)相關(guān)知識(shí)點(diǎn)模塊化編程2.8繪圖模塊turtle2.9點(diǎn)擊查看本節(jié)相關(guān)知識(shí)點(diǎn)知識(shí)架構(gòu)2.2 代碼風(fēng)格1縮進(jìn)2注釋知識(shí)架構(gòu)1標(biāo)識(shí)符和

2、關(guān)鍵字2數(shù)據(jù)類型3變量賦值2.3 變量4字符串索引和切片知識(shí)架構(gòu)2.4 基本輸入輸出1input()函數(shù)2eval()函數(shù)3print()函數(shù)知識(shí)架構(gòu)2.5 結(jié)構(gòu)控制1順序結(jié)構(gòu)2選擇結(jié)構(gòu)3循環(huán)結(jié)構(gòu)知識(shí)架構(gòu)2.8 模塊化編程1模塊的導(dǎo)入和使用2模塊的分類2.1 實(shí)例1:貨幣兌換貨幣兌換假設(shè)1美元等于6.8833人民幣,1人民幣等于0.1452美元,下面設(shè)計(jì)與編寫(xiě)解決“人民幣與美元相互兌換”這一問(wèn)題的程序。需求:分析:程序要解決的問(wèn)題: “人民幣兌換美元”和“美元兌換人民幣” 。 程序的流程“輸入貨幣貨幣轉(zhuǎn)換貨幣輸出” 。匯率算法如下: CNY=6.8833USD USD=0.1452CNY請(qǐng)依次

3、輸入幣值與符號(hào)(¥/$):34¥可兌換的美元為4.937$請(qǐng)依次輸入幣值與符號(hào)(¥/$):45$可兌換的人民幣為309.749¥請(qǐng)依次輸入幣值與符號(hào)(¥/$):23輸入有誤2.2 代碼風(fēng)格縮進(jìn)Python對(duì)代碼的縮進(jìn)有嚴(yán)格的規(guī)定??鋸埖卣f(shuō),每行代碼的縮進(jìn),需要使用 “游標(biāo)卡尺”去測(cè)量??s進(jìn)體現(xiàn)的是代碼的邏輯關(guān)系和層次關(guān)系,縮進(jìn)的改變會(huì)導(dǎo)致代碼語(yǔ)義的改變。空格是Python首選的縮進(jìn)方法。2.2 代碼風(fēng)格注釋注釋用于在程序指定位置添加說(shuō)明性信息注釋不參與程序運(yùn)行,僅起說(shuō)明作用注釋分類單行注釋多行注釋2.3 變量13什么是標(biāo)識(shí)符開(kāi)發(fā)人員在程序中自定義的一些符號(hào)和名稱。標(biāo)識(shí)符的命名規(guī)范使用字母、數(shù)字

4、、下劃線(_)及其組合作為標(biāo)識(shí)符名稱,但不允許以數(shù)字開(kāi)頭。見(jiàn)名知意。統(tǒng)一命名方式: (1)單個(gè)小寫(xiě)字母,如 a,b (2)單個(gè)大寫(xiě)字母,如 A,B (3)多個(gè)小寫(xiě)字母,如 ftpserver (4)多個(gè)大寫(xiě)字母,如 FTPCLIENT (5)下劃線分隔多個(gè)單詞 如 my_name MY_HEIGHT (5)大寫(xiě)詞(駝峰命名),如MyAge2.3 變量數(shù)據(jù)類型有哪些?數(shù)據(jù)類型數(shù)字類型整型浮點(diǎn)型復(fù)數(shù)類型組合類型字符串列表元組字典集合整型: 1 00、0b1010浮點(diǎn)型:3.14、 2e-2 復(fù)數(shù)類型:3 + 2j 字符串: hello itcast 列表:3,s,“Alp3” 元組:(3, s,

5、“Alp3”) 字典:“中國(guó)”:“北京”,“英國(guó)”:“倫敦” 集合:t, n, h, o, py示例2.3 變量為什么要為變量賦值變量使用之前必須先被賦值。變量賦值語(yǔ)法格式:變量 = 數(shù)值想一想:如果連續(xù)多次對(duì)變量賦值,那么這個(gè)變量的值最后是多少?示例:a=3變量名對(duì) 象a3a=32.3 變量字符串索引Python為字符串中的元素編號(hào),以實(shí)現(xiàn)對(duì)字符串中的單個(gè)字符或字符片段的索引。按照不同的方向,索引分為正向索引和逆向索引。使用“s索引”這一形式可取出索引對(duì)應(yīng)的字符 。AlphonseElric-14-13-12-11-10-9-8-7-6-5-4-3-2-1012345678910111213

6、逆向索引正向索引2.3 變量字符串切片切片可以獲取字符串中的字符串片段(子字符串)。使用“s索引1:索引2“ 取得從索引1開(kāi)始到索引2之前的字符串片段。(左開(kāi)右閉) AlphonseElric-14-13-12-11-10-9-8-7-6-5-4-3-2-1012345678910111213s0:4s:5s-5:-1s-5: 示例結(jié)果: Alph結(jié)果:Alph結(jié)果:Elri 結(jié)果:Elri 2.4 基本輸入/輸出什么是輸入?打個(gè)比方: 去銀行取錢在ATM上輸入密碼相當(dāng)于向程序輸入信息input()函數(shù)輸入函數(shù)所謂輸入,就是用代碼獲取用戶通過(guò)鍵盤輸入的信息。字符串變量=input(“提示信息”

7、)用法2.4 基本輸入/輸出什么是輸出?在Python中,如果要獲取用戶在鍵盤上的輸入信息,需要使用input()函數(shù)。使用input函數(shù)實(shí)現(xiàn)鍵盤輸入,用戶輸入的任何內(nèi)容都會(huì)被Python認(rèn)為是一個(gè)字符串。打個(gè)比方: 在ATM機(jī)輸入密碼,顯示余額ATM機(jī)輸入密碼后,屏幕輸出賬號(hào)余額信息print()函數(shù)輸出函數(shù)所謂輸出,就是計(jì)算機(jī)將數(shù)據(jù)輸出到屏幕或者文件等。2.4 基本輸入/輸出print()函數(shù)的使用打印字符串:01示 例print(輸入有誤)str = Alphonse Elric”print(str) 格式化輸出02示 例2.4 基本輸入/輸出print()函數(shù)的使用示 例str = A

8、lphonse Elric”print(str, end=)print(str, end= )print(str, end=_)示 例a = hellos = Alphonseprint(a, s, sep=,)print(a, s, sep=.)不換行輸出 03更換間隔字符042.5 結(jié)構(gòu)控制什么是順序結(jié)構(gòu)?順序結(jié)構(gòu)是最簡(jiǎn)單的結(jié)構(gòu),從執(zhí)行方式上看,此結(jié)構(gòu)中的語(yǔ)句從第一條到最后一條完全按從上到下的順序依次執(zhí)行。a = 3b = 5c = a + bprint(c)示 例a=3b=5c=a+bprint(c)開(kāi)始結(jié)束輸出變量c的值,結(jié)果為8定義變量a,賦值為3定義變量b,賦值為5定義變量c,值是

9、a+b之和2.5 結(jié)構(gòu)控制什么是分支結(jié)構(gòu)?分支結(jié)構(gòu)是依據(jù)一定的條件選擇執(zhí)行路徑,適合帶有邏輯或者關(guān)系比較等條件判斷的計(jì)算。設(shè)計(jì)這類程序時(shí)往往先繪制其程序流程圖,再寫(xiě)代碼。打個(gè)比方:交通信號(hào)燈紅燈:禁止通行綠燈:準(zhǔn)許通行黃燈:警示想一想:如何用程序表示交通信號(hào)燈的通行情況呢?2.5 結(jié)構(gòu)控制if條件語(yǔ)法格式if 條件表達(dá)式1:代碼段1elif 條件表達(dá)式2:代碼段2else:代碼段nif 紅燈:禁止通信elif 綠燈:準(zhǔn)許通信else:警示2.5 結(jié)構(gòu)控制什么是循環(huán)結(jié)構(gòu)?循環(huán)結(jié)構(gòu)是指在程序中需要反復(fù)執(zhí)行某個(gè)功能而設(shè)置的一種程序結(jié)構(gòu),它由循環(huán)體中的條件,判斷繼續(xù)執(zhí)行某個(gè)功能還是退出循環(huán)。Pytho

10、n循環(huán)結(jié)構(gòu):while循環(huán)語(yǔ)句for循環(huán)語(yǔ)句Python語(yǔ)言中提供了循環(huán)語(yǔ)句,其功能是根據(jù)條件控制程序是否再次或多次執(zhí)行。2.6 函數(shù)式編程什么是函數(shù)?函數(shù)是Python內(nèi)建支持的一種封裝。把大段代碼拆成函數(shù),通過(guò)一層一層函數(shù)調(diào)用,可以把復(fù)雜任務(wù)分解成簡(jiǎn)單的任務(wù),這種分解可以稱之為面向過(guò)程的程序設(shè)計(jì)。函數(shù)就是面向過(guò)程的程序設(shè)計(jì)的基本單元。FunctionPython定義函數(shù)的格式:def 函數(shù)名():代碼段函數(shù)名的命名規(guī)則與變量名相同。函數(shù)名后小括號(hào)中的參數(shù)構(gòu)成參數(shù)列表,參數(shù)列表可以為空。格式說(shuō)明:2.7 實(shí)例2:Turtle StarTurle Star通過(guò)練習(xí)Python官方文檔在圖形模塊

11、Turtle中給出的示例程序,了解模塊的簡(jiǎn)單用法。需求:效果圖:from turtle import *color(red, yellow)begin_fill()while True: forward(200) left(170) if abs(pos() 1: breakend_ful()done()2.8 模塊化編程什么是模塊?如何導(dǎo)入模塊?模塊(module)的功能與函數(shù)相似,從本質(zhì)上講,使用模塊和函數(shù)都是為了更好地組織代碼,減小程序體積,提高代碼的利用率。在Python程序中,一個(gè).py文件便可構(gòu)成一個(gè)模塊,通過(guò)在當(dāng)前.py文件中導(dǎo)入其它.py文件,可以調(diào)用被導(dǎo)入文件中定義的內(nèi)容,例

12、如變量、函數(shù)等。import 模塊名0102from 模塊名 import .2.8 模塊化編程內(nèi)置模塊是Python內(nèi)置標(biāo)準(zhǔn)庫(kù)中的模塊,也是Python的官方模塊,可直接導(dǎo)入程序。內(nèi)置模塊A第三方模塊是由非官方制作發(fā)布,供給大眾使用的Python模塊,在使用之前需要先自行安裝。第三方模塊B自定義模塊是用戶在程序編寫(xiě)中自行編寫(xiě),存放功能性代碼的.py文件。自定義模塊C2.9 繪圖模塊turtleturle繪圖模塊turtle(海龜)是Python內(nèi)置的一個(gè)標(biāo)準(zhǔn)模塊,它提供了繪制線、圓以及其它形狀的函數(shù),使用該模塊可以創(chuàng)建圖形窗口,在圖形窗口中通過(guò)簡(jiǎn)單重復(fù)動(dòng)作直觀地繪制界面與圖形。創(chuàng)建窗口設(shè)置畫(huà)

13、布繪制圖形turtle的使用主要分為以下三個(gè)方面:2.9 繪圖模塊turtle創(chuàng)建窗口圖形窗口也稱為畫(huà)布(canas)。控制臺(tái)無(wú)法繪制圖形,使用turtle模塊繪制圖形化界面,需要先使用setup()函數(shù)創(chuàng)建圖形窗口。turtle.setup(width, height, startx=None, starty=None)width: 窗口寬度height: 窗口高度startx:窗口在計(jì)算機(jī)屏幕上的橫坐標(biāo)starty:窗口在計(jì)算機(jī)屏幕上的縱坐標(biāo)參數(shù)含義:值為整數(shù)時(shí),表示以像素為單位的尺寸;值為小數(shù)時(shí),表示圖形窗口的寬或高與屏幕的比例startx、starty的取值可以為整數(shù)或None;當(dāng)取值

14、為整數(shù)時(shí),分別表示圖形窗口左側(cè)、頂部與屏幕左側(cè)、頂部的距離(單位為像素);當(dāng)取值為None時(shí),窗口位于屏幕中心。 2.9 繪圖模塊turtle設(shè)置畫(huà)筆畫(huà)筆(pen)的設(shè)置包括畫(huà)筆屬性,如尺寸、顏色的設(shè)置,和畫(huà)筆狀態(tài)的設(shè)置。 turtle.pensize()# 設(shè)置畫(huà)筆尺寸turtle.speed(speed)# 設(shè)置畫(huà)筆移動(dòng)速度turtle.color(color)# 設(shè)置畫(huà)筆顏色(1)畫(huà)筆屬性函數(shù)pensize()函數(shù)的參數(shù)width可以設(shè)置畫(huà)筆繪制出的線條的寬度;speed()函數(shù)的參數(shù)speed用于設(shè)置畫(huà)筆移動(dòng)的速度;color()函數(shù)的參數(shù)color用于設(shè)置畫(huà)筆的顏色參數(shù)含義:2.9

15、繪圖模塊turtle設(shè)置畫(huà)筆turtle.penup() # 提起畫(huà)筆turtle.pendown() # 放下畫(huà)筆(2)畫(huà)筆狀態(tài)函數(shù)turtle模塊中為penup()和pendown()函數(shù)定義了別名;penup()函數(shù)的別名為pu();pendown()函數(shù)的別名為pd()。說(shuō)明:2.9 繪圖模塊turtle繪制圖形在畫(huà)筆狀態(tài)為DOWN時(shí),通過(guò)移動(dòng)畫(huà)筆可以在畫(huà)布上繪制圖形,可以將畫(huà)筆想象成一只海龜(這也是turtle模塊名字的由來(lái)):海龜落在畫(huà)布上,它可以向前、向后、向左、向右移動(dòng),海龜爬動(dòng)時(shí)在畫(huà)布上留下痕跡,路徑即為所繪圖形。(1)移動(dòng)控制函數(shù)turtle.forward(distanc

16、e)# 向前移動(dòng)turtle.backward(distance)# 向后移動(dòng)turtle.goto(x,y=None)# 移動(dòng)到指定位置函數(shù)forward()和backward()的參數(shù)distance用于指定畫(huà)筆移動(dòng)的距離,單位為像素;函數(shù)goto()用于將畫(huà)筆移動(dòng)到畫(huà)布上指定的位置,該函數(shù)可以使用x、y分別接收表示目標(biāo)位置的橫坐標(biāo)和縱坐標(biāo),也可以僅接收一個(gè)表示坐標(biāo)向量的參數(shù)。參數(shù)含義:2.9 繪圖模塊turtle繪制圖形(2)角度控制函數(shù)turtle.right(degree)# 向右轉(zhuǎn)動(dòng)turtle.left(degree)# 向左轉(zhuǎn)動(dòng)turtle.seth(angle)# 轉(zhuǎn)動(dòng)到某個(gè)

17、方向函數(shù)right()和left()的參數(shù)degree用于指定畫(huà)筆向右與向左的角度;函數(shù)seth()的參數(shù)angle用于設(shè)置畫(huà)筆在坐標(biāo)系中的角度。參數(shù)含義:2.9 繪圖模塊turtle繪制圖形(3)繪制函數(shù)turtle.circle(radius, extent=None, steps=None)參數(shù)radius用于設(shè)置半徑;參數(shù)extent用于設(shè)置弧的角度。參數(shù)含義:當(dāng)radius為正時(shí),畫(huà)筆以原點(diǎn)為起點(diǎn)向上繪制弧線;radius為負(fù)時(shí),畫(huà)筆以原點(diǎn)為起點(diǎn)向下繪制弧線。當(dāng)extent為正時(shí),畫(huà)筆以原點(diǎn)為起點(diǎn)向右繪制弧線;extent為負(fù)時(shí),畫(huà)筆以原點(diǎn)為起點(diǎn)向左繪制弧線。2.9 繪圖模塊turtle繪制圖形(4)圖形填充turtle.begin_fill() # 開(kāi)始填充turtle.end_fill() # 結(jié)束填充2.10

溫馨提示

  • 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)論