第二章:Python程序?qū)嵗馕?/h1>

a衷蜓、溫度轉(zhuǎn)換程序?qū)嵗?/h1>

溫度刻畫存在不同體系:攝氏度惯豆、華氏度

攝氏度與華氏度

步驟1:分析問題的計算部分:采用公式轉(zhuǎn)換方式解決計算問題

步驟2:確定功能 -- IPO

?????????????輸入:華氏或者攝氏溫度值昧辽、溫度標識

?????????????處理:溫度轉(zhuǎn)化算法

?????????????輸出:攝氏或者華氏溫度值、溫度標識

???????????????? F表示華氏度愉耙,82F表示華氏82度

???????????????? C表示攝氏度蔬蕊,28C表示攝氏28度

步驟3:設計算法

???根據(jù)華氏和攝氏溫度定義,轉(zhuǎn)換公式如下:

????????? C = ( F – 32 ) / 1.8

????????? F = C * 1.8 + 32

???其中奕枝,C表示攝氏溫度括眠,F(xiàn)表示華氏溫度

步驟4:編寫程序

步驟5:調(diào)試、運行程序

在系統(tǒng)命令行上運行如下命令執(zhí)行程序:

? C:\>pythonTempConvert.py

或者:使用IDLE打開上述文件倍权,按F5運行(推薦)

輸入數(shù)值掷豺,觀察輸出


b捞烟、Python語法元素分析


1.程序的格式框架

Python用4個空格或者一個Tab來作為一個縮進且Tab和空格不可混用。

縮進

2.注釋

第一種單行注釋当船,以#開頭即可题画。

第二種多行注釋,以'''開頭以'''結(jié)束德频。

單多行注釋

3.命名與保留字

在Python語言中沒有特別設置常量苍息,統(tǒng)一都是變量。

不過我們通過把變量名大寫之后當成常量用壹置,實際上它還是一個變量竞思。

常量:程序中值不發(fā)生改變的元素

變量:程序中值發(fā)生改變或者可以發(fā)生改變的元素

4.字符串

字符串是用兩個雙引號“ ”或者單引號‘ ’括起來的一個或多個字符。

Python字符串的兩種序號體系

正向遞增序號:0~L-1

逆向遞減序號:-1~-L

正向與逆向
實例

Python字符串提供區(qū)間訪問方式钞护,格式:? [ N:M ]

????表示字符串中從N到M(不包含M)的子字符串

????N盖喷、M為索引序號

????可以混合使用正向遞增序號和反向遞減序號

例如:s1[0:-1]:第0個字符到最后一個字符之前的子串

區(qū)間訪問

操作符+可以實現(xiàn)兩個字符串的連接操作

區(qū)間訪問:從N到M(不包含M)的子字符串

綜合舉例

5.表達式和賦值語句

單個賦值與同步賦值語句

例:將變量x和y交換

單個賦值與同步賦值??
解釋

5.input()函數(shù)

以字符串類型返回結(jié)果

獲得用戶輸入之前,input()函數(shù)可以包含一些提示性文字

使用方法
輸入的值會賦給變量

6.分支語句

分支語句是控制程序運行的一類重要語句难咕,它的作用是根據(jù)判斷條件選擇程序執(zhí)行路徑课梳。

分支語句

7.eval()函數(shù)

neval(<字符串>)函數(shù)是Python語言中一個十分重要的函數(shù),它能夠以Python表達式的方式解析并執(zhí)行字符串余佃,將返回結(jié)果輸出暮刃。

注意:input輸入給變量的內(nèi)容是字符串

8.其他運算符

Python支持的算術運算符:+、-爆土、*椭懊、/、**

空格:

????????表達式內(nèi)部標記之間允許有空格步势,增加可讀性

????????不能改變縮進相關的空格數(shù)量

????????空格不能將命名分割

括號:表示分組和優(yōu)先級

9.輸出函數(shù)

print()函數(shù)可以以字符形式輸出變量灾搏。

????????可以輸出各種類型變量的值。

????????通過format()方法來選擇要輸出的變量立润。

????????用槽格式和format()方法將變量和字符串結(jié)合在一起輸出

實例:用戶輸入兩個數(shù)字狂窑,計算它們的平均數(shù),并輸出平均數(shù)

平均數(shù)

10.循環(huán)語句

第一種遍歷循環(huán):for


第二種無限循環(huán):while


11.函數(shù)

函數(shù)對一組表達特定功能表達式的封裝桑腮,能夠接收變量并輸出結(jié)果泉哈。

輔助代碼按照功能劃分模塊

有利于代碼之間進行語句級別的復用

第一種:內(nèi)置函數(shù)

系統(tǒng)自帶函數(shù),例如:input()破讨、print()丛晦、eval()

第二種:自定義函數(shù)

自己定義的函數(shù)


c、turtle庫和蟒蛇繪制程序


Python英文是蟒蛇的意思

通過下面的例子提陶,來實踐用Python語言輸出圖形效果烫沙。

代碼
蟒蛇

首先:這個代碼沒有input輸入也沒有print輸出

其次:代碼絕大部分都是<a>.<b>()類型的函數(shù)運行(面向?qū)ο缶幊?OOP)

表示調(diào)用一個對象<a>的方法<b>(),或者調(diào)用一個函數(shù)庫<a>中的函數(shù)<b>()

import turtle

模塊

import是一個關鍵字隙笆,用來引入一些外部庫锌蓄,這里的含義是:引入一個名字叫turtle的函數(shù)庫

Python語言最重要的特點:通過使用函數(shù)庫并利用庫中函數(shù)進行編程 — 模塊編程

Turtle庫

Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫

使用turtle庫升筏,同學們頭腦里需要有這樣一個概念:

想象一個小海龜,在一個橫軸為x瘸爽、縱軸為y的坐標系原點(0,0)位置開始

它根據(jù)一組函數(shù)指令的控制您访,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形(前進方向剪决、后退方向灵汪、左側(cè)方向、右側(cè)方向)


d柑潦、Python蟒蛇程序分析


Turtle中的turtle.setup()函數(shù)用于啟動一個圖形窗口享言,它有四個參數(shù)

?turtle.setup(width, height, startx, starty)

width, height:啟動窗口的寬度和高度

startx, starty:表示窗口啟動時,窗口左上角在屏幕中的坐標位置渗鬼。若取值None览露,則窗口位于屏幕水平/垂直中央。

我們所使用的顯示屏幕也是一個坐標系乍钻,該坐標系以左上角為原點肛循,向右和向下分別是x軸和y軸铭腕。

turtle.setup(650, 350, 200, 200)

蟒蛇程序代碼啟動一個650像素寬银择、350像素高的窗口。


窗口
penup()和pendown()

turtle.penup()抬起畫筆累舷,之后移動畫筆不繪制圖形

turtle.pendown()落下畫筆浩考,之后移動畫筆將繪制圖形

pensize()和pencolor()

Turtle中的turtle.pensize(width)函數(shù)表示小海龜運動軌跡的寬度。

它包含一個輸入?yún)?shù)被盈,這里我們把它設為25析孽。

Turtle中的turtle.pencolor(顏色參數(shù))函數(shù)表示小海龜運動軌跡的顏色。

seth()

nturtle.seth(angle)函數(shù)表示小海龜啟動時運動的方向只怎。它包含一個輸入?yún)?shù)袜瞬,是角度值。

其中:0度--向東身堡,90度--向北邓尤,180度--向西,270度--向南贴谎;負值表示相反方向汞扎。

程序中,turtle.seth(-40)擅这,我們讓小海龜向-40度啟動爬行澈魄,即:向東南方向40度。

角度

turtle.circle(rad仲翎,angle)函數(shù)讓小海龜沿著一個圓形爬行

參數(shù)rad描述圓形軌跡半徑的位置

如果為正值痹扇,這個半徑在小海龜運行的左側(cè)铛漓;

如果rad為負值,則半徑在小海龜運行的右側(cè)帘营。

參數(shù)angle表示小海龜沿著圓形爬行的弧度值如果不設置參數(shù)或者None票渠,則繪制整個圓形。

.fd()

turtle.fd(distance)函數(shù)也可以表示為turtle.forward(distance) 芬迄。

表示小海龜向前直線爬行移動问顷,它有一個參數(shù)表示爬行的距離distance。


e禀梳、函數(shù)的封裝


蟒蛇程序功能可以分成兩類:

繪制圖形前對畫筆的設置杜窄,包括顏色、尺寸算途、初始位置等

繪制Python蟒蛇的功能塞耕。由于蟒蛇繪制的功能相對獨立,可以用函數(shù)來封裝嘴瓤。

函數(shù)封裝

def定義函數(shù)

函數(shù)是一組代碼的集合扫外,用于表達一個功能,或者說廓脆,函數(shù)表示一組代碼的歸屬筛谚,函數(shù)名稱是這段代碼的名字。

def語句定義的函數(shù)所包含語句與def行存在縮進關系停忿,def后連續(xù)的縮進語句都是這個函數(shù)的一部分驾讲。

def所定義的函數(shù)在程序中未經(jīng)調(diào)用不能直接執(zhí)行,需要通過函數(shù)名調(diào)用才能夠執(zhí)行席赂。


f吮铭、函數(shù)的引用


Python的函數(shù)庫

Python語言的魅力在于大量使用外部函數(shù)庫

包含在安裝包中的函數(shù)庫:math, random, turtle等

其他函數(shù)庫:用戶根據(jù)需求安裝

Python對函數(shù)庫引用的方式

第一種方式:

import <庫名>

import <庫名>

如果需要用到函數(shù)庫中函數(shù),需要使用:

<庫名>.<函數(shù)名>

<庫名>.<函數(shù)名>

第二種方式:

from <庫名> import <函數(shù)名>

from <庫名> import *

from <庫名> import *

調(diào)用函數(shù)不需要<庫名>颅停,直接使用<函數(shù)名>

<函數(shù)名>

兩種引用方式的區(qū)別

這兩種引用方式對程序運行沒有區(qū)別谓晌,需要注意

如果采用第一種方式,用戶自定義的函數(shù)名字可以和庫中函數(shù)的名字一樣癞揉,例如纸肉,程序中可以定義自己的fd()函數(shù)。(推薦初學者使用)

如果采用第二種方式烧董,用戶程序中不能用函數(shù)庫中的名字定義函數(shù)毁靶,例如:程序不能定義新的fd()函數(shù),因為庫turtle中的fd()函數(shù)是直接通過fd()調(diào)用逊移。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者

  • 序言:七十年代末预吆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子胳泉,更是在濱河造成了極大的恐慌拐叉,老刑警劉巖岩遗,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凤瘦,居然都是意外死亡宿礁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門蔬芥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梆靖,“玉大人,你說我怎么就攤上這事笔诵》滴牵” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵乎婿,是天一觀的道長测僵。 經(jīng)常有香客問我,道長谢翎,這世上最難降的妖魔是什么捍靠? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮森逮,結(jié)果婚禮上榨婆,老公的妹妹穿的比我還像新娘。我一直安慰自己吊宋,他們只是感情好纲辽,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布颜武。 她就那樣靜靜地躺著璃搜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鳞上。 梳的紋絲不亂的頭發(fā)上这吻,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音篙议,去河邊找鬼唾糯。 笑死,一個胖子當著我的面吹牛鬼贱,可吹牛的內(nèi)容都是我干的移怯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼这难,長吁一口氣:“原來是場噩夢啊……” “哼舟误!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起姻乓,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤嵌溢,失蹤者是張志新(化名)和其女友劉穎眯牧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赖草,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡学少,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了秧骑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片版确。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乎折,靈堂內(nèi)的尸體忽然破棺而出阀坏,到底是詐尸還是另有隱情,我是刑警寧澤笆檀,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布忌堂,位于F島的核電站,受9級特大地震影響酗洒,放射性物質(zhì)發(fā)生泄漏士修。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一樱衷、第九天 我趴在偏房一處隱蔽的房頂上張望棋嘲。 院中可真熱鬧,春花似錦矩桂、人聲如沸沸移。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雹锣。三九已至,卻和暖如春癞蚕,著一層夾襖步出監(jiān)牢的瞬間蕊爵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工桦山, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留攒射,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓恒水,卻偏偏與公主長得像会放,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子钉凌,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容