申明: 本站飛宇網 https://feiyetopro.blogspot.com/。自網路收集整理之書籍、文章、影音僅供預覽交流學習研究,其[書籍、文章、影音]情節內容, 評論屬其個人行為, 與本網站無關。版權歸原作者和出版社所有,請在下載 24 小時內刪除,不得用作商業用途;如果您喜歡其作品,請支持訂閱購買[正版]。謝謝!
第2章 計算與變數
好了,現在你的Python裝好了,也知道如何啟動Python Shell程式了,那麼你就已經準備好用它來做點什麼了。我們將從一些簡單的計算開始,然後再使用變數。變數是電腦程式中用來保存東西的一種方式,它們能幫你寫出有用的程式來。
2.1 用Python來做計算
一般來講,當你要得到兩個數字的乘積時你會用計算器或者筆和紙,比方說8 × 3.57。那麼用PythonShell程式來運行這個計算是怎麼樣的?讓我們來試一試。
按兩下桌面上的IDLE圖示來啟動PythonShell程式,或者如果你用Ubuntu的話,在“應用”功能表中點擊IDLE圖示。在提示符後面輸入這個算式:

加入說明文字
請注意,在Python裡輸入乘法運算時要使用星號(*)而不是乘號(×)。
讓我們來試試另一個更有用一點的算式怎麼樣?
假設你在後院裡挖出了一個裝著20枚金幣的袋子。第二天,你偷偷跑到地下室,把這些金幣放進你爺爺發明的蒸汽動力的複製機裡(很幸運的是你剛好能把20枚金幣放進去)。你聽到機器在吵鬧,幾個小時後,它吐出10枚閃閃發光的新的金幣來。
如果在過去一年中的,你每天都這樣做一遍的話,在你的財寶箱裡會有多少金幣?在紙上,這個算式可能會是這樣:
10 × 365 = 3 650
20 + 3 650 = 3 670
當然,用計算器或者紙也能很容易地做這些運算,但是我們也可以用PyhonShell程式來做這些運算。首先,用10枚金幣乘以一年中的365天得到3 650。接下來,我們加上原來的20枚金幣就得到了3 670。
那麼現在,如果要是有一隻烏鴉發現了你臥室中閃亮的金子,而且每週它都能成功地飛進來並設法偷走3枚金幣,那會怎樣呢?
到一年結束時你還剩下多少金幣?在Shell程式中這個算式是這個樣子的:
首先,我們用3枚金幣乘以一年中的52周。結果是156。把這個數字從我們總的金幣數(3 670)中減掉,得到的結果是我們在一年結束時還剩下3 514枚金幣。
這是一個很簡單的程式。在這本書裡,你將學到如何把這些想法擴展開,寫出更有用的程式來。
2.1.1 Python的運算子
在PythonShell程式中,你可以做乘法、加法、減法和除法。還有其他的一些數學運算子,我們現在先不講。Python用來做數學運算的那些基本符號叫做“運算子”,在表2-1中列出。
表2-1 Python基本運算子
|
符號 |
運算 |
|
+ |
加 |
|
- |
減 |
|
* |
乘 |
|
/ |
除 |
用斜杠(/)來表示除法是因為這與寫分數的方式相似。例如,如果你有100個海盜和20個大桶,你想算算每個桶裡要藏幾個海盜,那你可以用100個海盜除以20個桶(100 ÷ 20),在PythonShell程式中輸入100 / 20。要記住“斜杠”是頂部靠在右邊的那個(靠左的是反斜線“\”)。
2.1.2 運算的順序
在程式設計語言中,我們用括弧來控制運算的順序。任何用到運算子的東西都是一個“運算”。乘法和除法運算比加法和減法優先,也就是說它們先運算。換句話講,如果你在Python中輸入一個算式,乘法或者除法的運算會在加法或減法之前。
例如,在下面的算式中,數位30和20先相乘,然後數字5再加到這個乘積上。
這個算式是“30乘以20,然後把結果再加上5”的另一種說法。結果是605。我們可以通過給前面兩個數位加上括弧來改變運算的順序。就像這樣:
這個運算的結果是700(而不是605),因為括弧告訴Python先做括弧中的運算,然後再做括弧之外的運算。這個例子就是在說:“5加上30,然後把結果乘以20。”
括弧可以嵌套,就是說括弧中還可以有括弧,就像這樣:
在這個例子中,Python先計算最裡層的括弧,然後是外面一層,最後再做那個除法運算。
也就是說,這個算式就是:“5加上30,然後把結果乘以20,再把這個結果除以10。”下面是具體的過程。
- 5加30得到35。
- 35乘以20得到700。
- 把700除以10得到了最終結果70。
如果我們沒用括弧,結果就會有些不同:
這樣的話,30首先與20相乘(得到600),然後600被10除(得到60),最後,加上5得到了結果65。
請記住乘法和除法總是在加法和減法之前,除非用括弧來控制運算的順序。
2.2 變數就像是標籤
在編寫程式時“變數”這個詞是指一個存儲資訊的地方,例如數位、文本、由數位和文本組成的清單等等。另一種看待變數的方式是它就像貼在東西上的標籤。
例如,要創造一個叫fred的變數,我們用等於號(=)然後告訴Python這個標籤是貼在什麼資訊上的。下面,我們創建了fred這個變數並告訴Python它給數字100加上了標籤(注意這並不意味著其他變數不能有同樣的數值):
想知道一個變數給什麼值加了標籤,在Shell程式中輸入print,後面括弧裡是變數的名字,就像這樣:
我們也可以讓Python來改變變數fred使它成為其他東西的標籤。例如,下面是如何把fred改成數字200。
在第一行,我們說fred成為數字200的標籤。在第二行,我們問fred它標記的是什麼,就是為了確認這個改變。Python在最後一行列印出結果。
我們也可以使用不只一個標籤(多個變數)來標記同一件東西:
在這個例子中,我們通過在john和fred之間使用等號來告訴Python,我們想讓名字(或者說變數)john與fred標記同一個東西。
當然,fred對於變數來講可能不是一個很有用的名字,因為它很可能根本沒告訴我們這個變數是幹什麼用的。現在不用fred,讓我們把變數起名字叫number_of_coins(金幣的數量),像這樣:
這就明確了我們是在說200枚金幣。
變數名可以由字母、數位和底線(_)組成,但是不能由數字開頭。從一個字母(如a)到長長的句子都可以用來做變數名(變數名不能包含空格,所以要用底線來分隔單詞)。有些時候,如果你在匆忙地做一些事情,那麼短一點的變數名最好。選擇什麼樣的名字取決於你需要讓這個變數名有多麼大的含意。
現在你知道如何創建變數了,讓我們看看如何使用他們。
2.3 使用變數
還記得我們的那個算式嗎?如果你能用地下室裡你爺爺的瘋狂發明魔法般地創造出新金幣來,那麼用來計算在一年後你會有多少金幣的算式是這樣的:
我們可以把它寫在一行代碼裡:
那麼,如果我們把這些數位變成變數呢?試著像下面這樣輸入:
這些輸入的代碼會創建出變數 found_coins(找到的金幣)、magic_coins(魔法金幣)和stolen_coins(被偷走的金幣)。
那麼現在,我們可以這樣重新輸入算式:
你可以看到它給出了同樣的答案。所以,誰會在乎用哪種方式呢?對吧?嘿嘿,下面就要展示變數的魔力了。假如你在窗子上粘貼了一個稻草人,烏鴉這回只能偷到兩枚金幣而不是三枚了呢?如果我們用了變數,只要簡單地把變數改為新的數位,那麼在算式中每個用到它的地方都會改變。我們可以這樣輸入來把變數stolen_coins改為2:
然後我們可以拷貝粘貼算式來重新計算,步驟如下。
1.如圖2-1所示,點擊滑鼠從這行的開頭到結尾選中要拷貝的文本。
2.按住Ctrl鍵(如果你用蘋果電腦則為
鍵)然後按C來拷貝選中的文本(以後我們用Ctrl-C來代表這個操作)。
3.點擊最後一個提示符(在stolen_coins = 2之後)。
4.按住Ctrl鍵然後按V來粘貼選中的文本(以後我們用Ctrl-V來代表這個操作)。
5.按回車鍵就會看到新的結果,如圖2-2所示。
是不是比重新鍵入整個算式容易多了?那還用說!
你可以試試改變其他的變數,然後拷貝(Ctrl-C)並粘貼(Ctrl-V)算式來觀察改變的效果。例如,如果你在恰當的時刻在邊上猛敲一下你爺爺的發明,那麼它每次會多吐出3枚金幣,你會發現一年後你將得到4 661枚金幣:
當然,用變數來做這樣簡單的計算,它的用處仍然很有限。我們還沒見過它真正大展拳腳。現在,只要記住變數就是一種給事物加標籤的方法,從而讓我們以後可以使用它們就可以了。
2.4 你學到了什麼
在這一章裡,你學到了如何用Python操作符來做簡單計算以及如何用括弧來控制Python計算算式中各部分的順序。我們還創建了變數來給數值加上標籤並在計算中使用這些變數。
























0 留言:
發佈留言