本節書摘來自異步社群《“笨辦法”學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比較一下,你就看出不同了。