這篇文章裡, 我們應該會利用 IDLE 來實作, 如果你忘了, 就先去看看這篇文章(手把手學Python - 第一支小程式)
程式設計的過程中, 其實對於各種資料不斷"加工", 讓它們成為我們期待的數學模型。這也就是為什麼不少人都會說, 學好數學對於學程式是很重要的事。在寫程式的過程中, 所有的資料都要有各自的型別。對於電腦來說, 整數、小數、字母、字串都是不相同的"東西"。所以操作起來也都會不同。
舉個簡單的例子來說,
- 整數的 12 + 34 你會得到 46
- 字串的 "12" + "34" 你會得到 "1234"
你可以自行嚐試看看, 就會發現明明都是 12 和 34 用 "+" 這個運算子結合, 得到的結果卻不一樣。所以對我們來說, 要寫程式就要先了解各種不同的資料結構對電腦來說, 會如何被操作。然而, 若是要像傳統的教學裡, 把所有的資料型別都介紹完, 應該會有不少人會打退堂鼓, 所以我們就先從最簡單而且常用的兩種資料型別來學起。
- 整數
整數(integer), 在不少程式語言裡都被簡化成 int。它其實就是我們在日常生活裡用的整數, 包含了正整數(1, 2, 3, ...)、0 以及負整數(-1, -2, -3, ...)。在比較低階的語言(例如 C 語言)裡, 當你作了像 3/2 這樣的操作, 卻沒放到對的型別裡(浮點運算 floating point), 程式就會幫你無條件捨去後, 再變成整數。但是在 Python 裡, 它會自行幫你轉換型別, 這也是 Python 對於初學者比較友善的地方。 - 字串
字串(string), 被簡化為 str。也就是我們日常在用的句子, 除了英文外, 在 Python 裡也可以輸入中文。但中文的編碼有 Big5 和 UTF-8 的不同, 所以個人建議, 初學的時候, 請儘量用英文吧。在 Python 裡, 要表示一個字串, 我們會以成對的單引號, 或是雙引號表示。如 "This is a book"、'This is a book'。
比較特別的, 是當你的字串裡會出現單引號(')或是雙引號(")時, 你可以用下列的方法表示。'This\'s a book'"This's a book""I say \"yes\""'I say "yes"'
也就是說, 你可以利用單雙引號的交替使用, 或者在字中裡的單引號前加上反斜線(\)來表示
在 Python 中, 整數常用到的運算表列如下
運算子 | 意義 | 運算 | 結果 |
---|---|---|---|
+ | 加法 | 4 + 2 | 6 |
- | 減法 | 4 - 2 | 2 |
* | 乘法 | 4 * 2 | 8 |
/ | 除法 | 4 / 2 | 2 (註1) |
** | 指數運算(註2) | 4 ** 2 | 16 |
// | 整數除法的商數 | 17 // 5 | 3 |
% | 整數除法的餘數 | 17 % 5 | 2 |
註2:在 Python 和一般習慣不同, 它的指數運算是 ** 而非常用的 ^, 它的 ^ 被用在位元(二進位)運算的加法, 這是特別要注意的地方。
這些請在 IDLE 裡, 自己試試看, 你會更了解這些整數的運算。其實, 就因為在 Python 裡, 整數的除法如果出現小數, 就會自動轉成浮點運算, 所以在官方的文件裡, 就沒有特別提到整數這種資料型別, 而是把整數和小數合併為數(Number)。
而字串的運算, 其實要到後面, 我們提到串列(List), 才會有比較詳細的介紹, 在這裡, 你大概只需要學到兩種就可以了。
而字串的運算, 其實要到後面, 我們提到串列(List), 才會有比較詳細的介紹, 在這裡, 你大概只需要學到兩種就可以了。
- 加法(+)
"123" + "234" = "123234"
在 Python 裡, 字串的加法也就是字串的合併。 - 乘法(*)
"123" * 3 = "123123123"
當你把一個字串乘以一個正整數 n 時, 會把同一個字串複製 n 次。如果你後面乘的不是正整數而是負整數, 其實你自己可以試試看。
最後提兩個很重要的函數
- int()
當你把一個字串 "1234" 放到函數 int() 裡, 如 int("1234"), 此時你就會得到一個整數 1234。這在下一章, 我們要使用 input() 讓使用者可以輸入數字時, 會是個很重要的函數。
另外, int() 的另一個功用, 是幫你做取整數的部份。也就是你會看到int(17.5) = 17int(17.4) = 17這在某些運算上, 是一個很好用的工具, 只是要很小心負的部份。
int(-17.5) = -17
int(-17.4) = -17 - str()
當你把一個整數 1234 放到函數 str() 裡, 如 str(1234), 會得到一個字串 "1234"。這部份則是在下一章, 我們要使用 print() 秀出程式結果時, 會是一個很重要的技巧。
好了, 就先提到這裡, 個人建議學程式, 最重要的, 是多多嚐試。要不要試著想想, 怎麼利用整數的運算, 實作出四捨五入法? 如果你覺得你會操作, 不妨把你的答案寫在下面的推文裡。
沒有留言:
張貼留言