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

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和空格不可混用。

縮進(jìn)

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

正向與逆向
實(shí)例

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

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

????N、M為索引序號(hào)

????可以混合使用正向遞增序號(hào)和反向遞減序號(hào)

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

區(qū)間訪問

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

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

綜合舉例

5.表達(dá)式和賦值語句

單個(gè)賦值與同步賦值語句

例:將變量x和y交換

單個(gè)賦值與同步賦值??
解釋

5.input()函數(shù)

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

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

使用方法
輸入的值會(huì)賦給變量

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ù)

平均數(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像素高的窗口。


窗口
penup()和pendown()

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

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

pensize()和pencolor()

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

它包含一個(gè)輸入?yún)?shù),這里我們把它設(shè)為25。

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

seth()

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è)圓形。

.fd()

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

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


e、函數(shù)的封裝


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

繪制圖形前對(duì)畫筆的設(shè)置,包括顏色、尺寸、初始位置等

繪制Python蟒蛇的功能。由于蟒蛇繪制的功能相對(duì)獨(dú)立,可以用函數(shù)來封裝。

函數(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 <庫名>

import <庫名>

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

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

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

第二種方式:

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

from <庫名> import *

from <庫名> import *

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

<函數(shù)名>

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

這兩種引用方式對(duì)程序運(yùn)行沒有區(qū)別,需要注意

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

如果采用第二種方式,用戶程序中不能用函數(shù)庫中的名字定義函數(shù),例如:程序不能定義新的fd()函數(shù),因?yàn)閹靦urtle中的fd()函數(shù)是直接通過fd()調(diào)用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 基于《Python語言程序設(shè)計(jì)基礎(chǔ)(第2版)》 第一部分 初識(shí)Python語言 第1章 程序設(shè)計(jì)基本方法 1.1 ...
    柄志閱讀 27,779評(píng)論 4 44
  • 關(guān)于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),以下選項(xiàng)描述正確的是( D )A: 數(shù)據(jù)所占的存儲(chǔ)空間量B: 存儲(chǔ)在外存中的數(shù)據(jù)C: 數(shù)據(jù)在計(jì)...
    IIronMan閱讀 136,758評(píng)論 7 60
  • 文/粲然一笑 那是一個(gè)繁星點(diǎn)點(diǎn)的夜晚,媽媽帶著我來到了孤兒院門口。深藍(lán)色的顯得格外寧靜,襯出星星的光亮。 過了一會(huì)...
    安琪琪aqi閱讀 367評(píng)論 0 0
  • 利用解決問題、防備問題、社會(huì)認(rèn)可三個(gè)購買動(dòng)機(jī),給面膜寫文案。 一、解決問題 1.XXX面膜,你的家庭美容師 2.與...
    巍雅格格閱讀 253評(píng)論 3 1
  • 梧桐樹下 落葉畫沙 都市繁華 宛如夢(mèng)畫 酸甜苦辣 應(yīng)接不暇 箜篌琵琶 花落誰家
    青梅煮酒論英雄閱讀 144評(píng)論 0 0

友情鏈接更多精彩內(nèi)容