2020年9月27日星期日

002 趣學Python程式設計 第1部分 學習程式設計 第2章 計算與變數

 申明本站飛宇網 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中輸入一個算式,乘法或者除法的運算會在加法或減法之前。

例如,在下面的算式中,數位3020先相乘,然後數字5再加到這個乘積上。


這個算式是“30乘以20,然後把結果再加上5”的另一種說法。結果是605。我們可以通過給前面兩個數位加上括弧來改變運算的順序。就像這樣:


這個運算的結果是700(而不是605),因為括弧告訴Python先做括弧中的運算,然後再做括弧之外的運算。這個例子就是在說:“5加上30,然後把結果乘以20


括弧可以嵌套,就是說括弧中還可以有括弧,就像這樣:


在這個例子中,Python先計算最裡層的括弧,然後是外面一層,最後再做那個除法運算。

也就是說,這個算式就是:“5加上30,然後把結果乘以20,再把這個結果除以10下面是具體的過程。

  • 530得到35
  • 35乘以20得到700
  • 700除以10得到了最終結果70

如果我們沒用括弧,結果就會有些不同:


這樣的話,30首先與20相乘(得到600),然後60010除(得到60),最後,加上5得到了結果65


請記住乘法和除法總是在加法和減法之前,除非用括弧來控制運算的順序。

2.2 變數就像是標籤

在編寫程式時變數這個詞是指一個存儲資訊的地方,例如數位、文本、由數位和文本組成的清單等等。另一種看待變數的方式是它就像貼在東西上的標籤。

例如,要創造一個叫fred的變數,我們用等於號(=)然後告訴Python這個標籤是貼在什麼資訊上的。下面,我們創建了fred這個變數並告訴Python它給數字100加上了標籤(注意這並不意味著其他變數不能有同樣的數值):


想知道一個變數給什麼值加了標籤,在Shell程式中輸入print,後面括弧裡是變數的名字,就像這樣:


我們也可以讓Python來改變變數fred使它成為其他東西的標籤。例如,下面是如何把fred改成數字200


在第一行,我們說fred成為數字200的標籤。在第二行,我們問fred它標記的是什麼,就是為了確認這個改變。Python在最後一行列印出結果。

我們也可以使用不只一個標籤(多個變數)來標記同一件東西:


在這個例子中,我們通過在johnfred之間使用等號來告訴Python,我們想讓名字(或者說變數)johnfred標記同一個東西。

當然,fred對於變數來講可能不是一個很有用的名字,因為它很可能根本沒告訴我們這個變數是幹什麼用的。現在不用fred,讓我們把變數起名字叫number_of_coins(金幣的數量),像這樣:


這就明確了我們是在說200枚金幣。

變數名可以由字母、數位和底線(_)組成,但是不能由數字開頭。從一個字母(如a)到長長的句子都可以用來做變數名(變數名不能包含空格,所以要用底線來分隔單詞)。有些時候,如果你在匆忙地做一些事情,那麼短一點的變數名最好。選擇什麼樣的名字取決於你需要讓這個變數名有多麼大的含意。

現在你知道如何創建變數了,讓我們看看如何使用他們。

2.3 使用變數

還記得我們的那個算式嗎?如果你能用地下室裡你爺爺的瘋狂發明魔法般地創造出新金幣來,那麼用來計算在一年後你會有多少金幣的算式是這樣的:


我們可以把它寫在一行代碼裡:


那麼,如果我們把這些數位變成變數呢?試著像下面這樣輸入:


這些輸入的代碼會創建出變數 found_coins(找到的金幣)、magic_coins(魔法金幣)和stolen_coins(被偷走的金幣)。

那麼現在,我們可以這樣重新輸入算式:


你可以看到它給出了同樣的答案。所以,誰會在乎用哪種方式呢?對吧?嘿嘿,下面就要展示變數的魔力了。假如你在窗子上粘貼了一個稻草人,烏鴉這回只能偷到兩枚金幣而不是三枚了呢?如果我們用了變數,只要簡單地把變數改為新的數位,那麼在算式中每個用到它的地方都會改變。我們可以這樣輸入來把變數stolen_coins改為2



然後我們可以拷貝粘貼算式來重新計算,步驟如下。

1.如圖2-1所示,點擊滑鼠從這行的開頭到結尾選中要拷貝的文本。


2-1 選中要拷貝的文本

2.按住Ctrl鍵(如果你用蘋果電腦則為 鍵)然後按C來拷貝選中的文本(以後我們用Ctrl-C來代表這個操作)。

3.點擊最後一個提示符(在stolen_coins = 2之後)。

4.按住Ctrl鍵然後按V來粘貼選中的文本(以後我們用Ctrl-V來代表這個操作)。

5.按回車鍵就會看到新的結果,如圖2-2所示。






2-2 新的運行結果

是不是比重新鍵入整個算式容易多了?那還用說!

你可以試試改變其他的變數,然後拷貝(Ctrl-C)並粘貼(Ctrl-V)算式來觀察改變的效果。例如,如果你在恰當的時刻在邊上猛敲一下你爺爺的發明,那麼它每次會多吐出3枚金幣,你會發現一年後你將得到4 661枚金幣:


當然,用變數來做這樣簡單的計算,它的用處仍然很有限。我們還沒見過它真正大展拳腳。現在,只要記住變數就是一種給事物加標籤的方法,從而讓我們以後可以使用它們就可以了。

2.4 你學到了什麼

在這一章裡,你學到了如何用Python操作符來做簡單計算以及如何用括弧來控制Python計算算式中各部分的順序。我們還創建了變數來給數值加上標籤並在計算中使用這些變數。

 

0 留言:

發佈留言