a、溫度轉(zhuǎn)換程序?qū)嵗?/h1>
溫度刻畫存在不同體系:攝氏度、華氏度

步驟1:分析問題的計(jì)算部分:采用公式轉(zhuǎn)換方式解決計(jì)算問題
步驟2:確定功能 -- IPO
?????????????輸入:華氏或者攝氏溫度值、溫度標(biāo)識(shí)
?????????????處理:溫度轉(zhuǎn)化算法
?????????????輸出:攝氏或者華氏溫度值、溫度標(biāo)識(shí)
???????????????? F表示華氏度,82F表示華氏82度
???????????????? C表示攝氏度,28C表示攝氏28度
步驟3:設(shè)計(jì)算法
???根據(jù)華氏和攝氏溫度定義,轉(zhuǎn)換公式如下:
????????? C = ( F – 32 ) / 1.8
????????? F = C * 1.8 + 32
???其中,C表示攝氏溫度,F(xiàn)表示華氏溫度
步驟4:編寫程序

步驟5:調(diào)試、運(yùn)行程序
在系統(tǒng)命令行上運(yùn)行如下命令執(zhí)行程序:
? C:\>pythonTempConvert.py
或者:使用IDLE打開上述文件,按F5運(yùn)行(推薦)
輸入數(shù)值,觀察輸出
b、Python語法元素分析
1.程序的格式框架
Python用4個(gè)空格或者一個(gè)Tab來作為一個(gè)縮進(jìn)且Tab和空格不可混用。

2.注釋
第一種單行注釋,以#開頭即可。
第二種多行注釋,以'''開頭以'''結(jié)束。

3.命名與保留字
在Python語言中沒有特別設(shè)置常量,統(tǒng)一都是變量。
不過我們通過把變量名大寫之后當(dāng)成常量用,實(shí)際上它還是一個(gè)變量。
常量:程序中值不發(fā)生改變的元素
變量:程序中值發(fā)生改變或者可以發(fā)生改變的元素
4.字符串
字符串是用兩個(gè)雙引號(hào)“ ”或者單引號(hào)‘ ’括起來的一個(gè)或多個(gè)字符。
Python字符串的兩種序號(hào)體系
正向遞增序號(hào):0~L-1
逆向遞減序號(hào):-1~-L


Python字符串提供區(qū)間訪問方式,格式:? [ N:M ]
????表示字符串中從N到M(不包含M)的子字符串
????N、M為索引序號(hào)
????可以混合使用正向遞增序號(hào)和反向遞減序號(hào)
例如:s1[0:-1]:第0個(gè)字符到最后一個(gè)字符之前的子串

操作符+可以實(shí)現(xiàn)兩個(gè)字符串的連接操作
區(qū)間訪問:從N到M(不包含M)的子字符串

5.表達(dá)式和賦值語句
單個(gè)賦值與同步賦值語句
例:將變量x和y交換


5.input()函數(shù)
以字符串類型返回結(jié)果
獲得用戶輸入之前,input()函數(shù)可以包含一些提示性文字


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

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

注意:input輸入給變量的內(nèi)容是字符串
8.其他運(yùn)算符
Python支持的算術(shù)運(yùn)算符:+、-、*、/、**
空格:
????????表達(dá)式內(nèi)部標(biāo)記之間允許有空格,增加可讀性
????????不能改變縮進(jìn)相關(guān)的空格數(shù)量
????????空格不能將命名分割
括號(hào):表示分組和優(yōu)先級(jí)
9.輸出函數(shù)
print()函數(shù)可以以字符形式輸出變量。
????????可以輸出各種類型變量的值。
????????通過format()方法來選擇要輸出的變量。
????????用槽格式和format()方法將變量和字符串結(jié)合在一起輸出
實(shí)例:用戶輸入兩個(gè)數(shù)字,計(jì)算它們的平均數(shù),并輸出平均數(shù)

10.循環(huán)語句
第一種遍歷循環(huán):for
第二種無限循環(huán):while
11.函數(shù)
函數(shù)對(duì)一組表達(dá)特定功能表達(dá)式的封裝,能夠接收變量并輸出結(jié)果。
輔助代碼按照功能劃分模塊
有利于代碼之間進(jìn)行語句級(jí)別的復(fù)用
第一種:內(nèi)置函數(shù)
系統(tǒng)自帶函數(shù),例如:input()、print()、eval()
第二種:自定義函數(shù)
自己定義的函數(shù)
c、turtle庫和蟒蛇繪制程序
Python英文是蟒蛇的意思
通過下面的例子,來實(shí)踐用Python語言輸出圖形效果。


首先:這個(gè)代碼沒有input輸入也沒有print輸出
其次:代碼絕大部分都是<a>.<b>()類型的函數(shù)運(yùn)行(面向?qū)ο缶幊?OOP)
表示調(diào)用一個(gè)對(duì)象<a>的方法<b>(),或者調(diào)用一個(gè)函數(shù)庫<a>中的函數(shù)<b>()
import turtle
模塊
import是一個(gè)關(guān)鍵字,用來引入一些外部庫,這里的含義是:引入一個(gè)名字叫turtle的函數(shù)庫
Python語言最重要的特點(diǎn):通過使用函數(shù)庫并利用庫中函數(shù)進(jìn)行編程 — 模塊編程
Turtle庫
Turtle庫是Python語言中一個(gè)很流行的繪制圖像的函數(shù)庫
使用turtle庫,同學(xué)們頭腦里需要有這樣一個(gè)概念:
想象一個(gè)小海龜,在一個(gè)橫軸為x、縱軸為y的坐標(biāo)系原點(diǎn)(0,0)位置開始
它根據(jù)一組函數(shù)指令的控制,在這個(gè)平面坐標(biāo)系中移動(dòng),從而在它爬行的路徑上繪制了圖形(前進(jìn)方向、后退方向、左側(cè)方向、右側(cè)方向)
d、Python蟒蛇程序分析

Turtle中的turtle.setup()函數(shù)用于啟動(dòng)一個(gè)圖形窗口,它有四個(gè)參數(shù)
?turtle.setup(width, height, startx, starty)
width, height:?jiǎn)?dòng)窗口的寬度和高度
startx, starty:表示窗口啟動(dòng)時(shí),窗口左上角在屏幕中的坐標(biāo)位置。若取值None,則窗口位于屏幕水平/垂直中央。
我們所使用的顯示屏幕也是一個(gè)坐標(biāo)系,該坐標(biāo)系以左上角為原點(diǎn),向右和向下分別是x軸和y軸。
turtle.setup(650, 350, 200, 200)
蟒蛇程序代碼啟動(dòng)一個(gè)650像素寬、350像素高的窗口。


turtle.penup()抬起畫筆,之后移動(dòng)畫筆不繪制圖形
turtle.pendown()落下畫筆,之后移動(dòng)畫筆將繪制圖形

Turtle中的turtle.pensize(width)函數(shù)表示小海龜運(yùn)動(dòng)軌跡的寬度。
它包含一個(gè)輸入?yún)?shù),這里我們把它設(shè)為25。
Turtle中的turtle.pencolor(顏色參數(shù))函數(shù)表示小海龜運(yùn)動(dòng)軌跡的顏色。

nturtle.seth(angle)函數(shù)表示小海龜啟動(dòng)時(shí)運(yùn)動(dòng)的方向。它包含一個(gè)輸入?yún)?shù),是角度值。
其中:0度--向東,90度--向北,180度--向西,270度--向南;負(fù)值表示相反方向。
程序中,turtle.seth(-40),我們讓小海龜向-40度啟動(dòng)爬行,即:向東南方向40度。


turtle.circle(rad,angle)函數(shù)讓小海龜沿著一個(gè)圓形爬行
參數(shù)rad描述圓形軌跡半徑的位置
如果為正值,這個(gè)半徑在小海龜運(yùn)行的左側(cè);
如果rad為負(fù)值,則半徑在小海龜運(yùn)行的右側(cè)。
參數(shù)angle表示小海龜沿著圓形爬行的弧度值如果不設(shè)置參數(shù)或者None,則繪制整個(gè)圓形。

turtle.fd(distance)函數(shù)也可以表示為turtle.forward(distance) 。
表示小海龜向前直線爬行移動(dòng),它有一個(gè)參數(shù)表示爬行的距離distance。
e、函數(shù)的封裝
蟒蛇程序功能可以分成兩類:
繪制圖形前對(duì)畫筆的設(shè)置,包括顏色、尺寸、初始位置等
繪制Python蟒蛇的功能。由于蟒蛇繪制的功能相對(duì)獨(dú)立,可以用函數(shù)來封裝。

def定義函數(shù)
函數(shù)是一組代碼的集合,用于表達(dá)一個(gè)功能,或者說,函數(shù)表示一組代碼的歸屬,函數(shù)名稱是這段代碼的名字。
def語句定義的函數(shù)所包含語句與def行存在縮進(jìn)關(guān)系,def后連續(xù)的縮進(jìn)語句都是這個(gè)函數(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對(duì)函數(shù)庫引用的方式
第一種方式:
import <庫名>

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

第二種方式:
from <庫名> import <函數(shù)名>
from <庫名> import *

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

兩種引用方式的區(qū)別
這兩種引用方式對(duì)程序運(yùn)行沒有區(qū)別,需要注意:
如果采用第一種方式,用戶自定義的函數(shù)名字可以和庫中函數(shù)的名字一樣,例如,程序中可以定義自己的fd()函數(shù)。(推薦初學(xué)者使用)
如果采用第二種方式,用戶程序中不能用函數(shù)庫中的名字定義函數(shù),例如:程序不能定義新的fd()函數(shù),因?yàn)閹靦urtle中的fd()函數(shù)是直接通過fd()調(diào)用。