《“笨办法”学Python(第3版)》——习题3 数字和数学计算
本節書摘來自異步社區《“笨辦法”學Python(第3版)》一書中的習題3,作者[美]Zed A. Shaw,王巍巍 譯,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。
習題3 數字和數學計算
每一種編程語言都包含處理數字和進行數學計算的方法。不必擔心,程序員經常謊稱他們是多么牛的數學天才,其實他們根本不是。如果他們真是數學天才,他們早就去從事數學相關的行業了,而不是寫寫廣告程序和社交網絡游戲,偷偷賺點小錢而已。
這個習題里有很多數學運算符號。我們來看一遍它們都叫什么名字。你要一邊寫一邊念出它們的名字來,直到你念煩了為止。名字如下:
- 加號
- ? 減號
- / 斜杠
- 星號
- % 百分號
- < 小于號
大于號
- <= 小于等于號
= 大于等于號
有沒有注意到以上只是些符號,沒有給出具體的運算操作呢?寫完下面的練習代碼后,再回到上面的列表,寫出每個符號的作用。例如,+是用來做加法運算的。
ex3.py
1 print "I will now count my chickens:" 2 3 print "Hens", 25 + 30 / 6 4 print "Roosters", 100 - 25 * 3 % 4 5 6 print "Now I will count the eggs:" 7 8 print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6 9 10 print "Is it true that 3 + 2 < 5 - 7?" 11 12 print 3 + 2 < 5 – 7 13 14 print "What is 3 + 2?", 3 + 2 15 print "What is 5 - 7?", 5 – 7 16 17 print "Oh, that's why it's False." 18 19 print "How about some more." 20 21 print "Is it greater?", 5 > -2 22 print "Is it greater or equal?", 5 >= -2 23 print "Is it less or equal?", 5 <= -2應該看到的結果
習題3 會話
$ python ex3.py I will now count my chickens: Hens 30 Roosters 97 Now I will count the eggs: 7 Is it true that 3 + 2 < 5 - 7? False What is 3 + 2? 5 What is 5 - 7? -2 Oh, that's why it's False. How about some more. Is it greater? True Is it greater or equal? True Is it less or equal? False附加練習
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比較一下,你就看出不同了。
總結
以上是生活随笔為你收集整理的《“笨办法”学Python(第3版)》——习题3 数字和数学计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《挖掘管理价值:企业软件项目管理实战》一
- 下一篇: 《C语言编程初学者指南》一1.9 本章小