天天看點

《“笨辦法”學Python(第3版)》——習題3 數字和數學計算

本節書摘來自異步社群《“笨辦法”學python(第3版)》一書中的習題3,作者[美]zed a. shaw,王巍巍 譯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

每一種程式設計語言都包含處理數字和進行數學計算的方法。不必擔心,程式員經常謊稱他們是多麼牛的數學天才,其實他們根本不是。如果他們真是數學天才,他們早就去從事數學相關的行業了,而不是寫寫廣告程式和社交網絡遊戲,偷偷賺點小錢而已。

這個習題裡有很多數學運算符号。我們來看一遍它們都叫什麼名字。你要一邊寫一邊念出它們的名字來,直到你念煩了為止。名字如下:

加号

− 減号

/ 斜杠

星号

% 百分号

< 小于号

大于号

<= 小于等于号

= 大于等于号

有沒有注意到以上隻是些符号,沒有給出具體的運算操作呢?寫完下面的練習代碼後,再回到上面的清單,寫出每個符号的作用。例如,+是用來做加法運算的。

<code>ex3.py</code>

應該看到的結果

<code>習題3 會話</code>

附加練習

1.每一行的上面使用#為自己寫一個注釋,說明一下這一行的作用。

2.記得習題0吧?用裡邊的方法運作python,然後使用剛才學到的運算符号,把python當做電腦玩玩。

3.自己找個想要計算的東西,寫一個.py檔案把它計算出來。

4.有沒有發現計算結果是“錯”的呢?計算結果隻有整數,沒有小數部分。研究一下這是為什麼,搜尋一下“浮點數”(floating point number)是什麼東西。

5.使用浮點數重寫一遍ex3.py,讓它的計算結果更準确。(提示:20.0是一個浮點數。)

常見問題回答

為什麼%是求餘數符号,而不是百分号?

很大程度上隻是因為設計人員選擇了這個符号而已。正常寫作時它是百分号沒錯,在程式設計中除法我們用了/,而求餘數又恰恰選擇了%這個符号,僅此而已。

%是怎麼工作的?

換個說法就是“x除以y還剩餘j”,例如“100除以16還剩4”。%運算的結果就是j這部分。

運算優先級是怎樣的?

在美國,我們用pemdas這個簡稱來輔助記憶,它的意思是“括号(parentheses)、指數(exponents)、乘(multiplication)、除(division)、加(addition)、減(subtraction)”,這也是python裡的運算優先級。

為什麼/(除法)算出來的比實際小?

其實不是沒算對,而是它将小數部分丢棄了,試試7.0 / 4.0和7 / 4比較一下,你就看出不同了。