《Python核心編程》第二版第97頁第五章練習
和大家分享自己完成的《Python核心編程》答案。
因為不是來自官方資源,是自己的的練習,可能有誤或者並非最好的解決辦法。
【推薦】曬一曬一個程式員《讀過的好書》
http://debug-sai.blogbus.com/logs/42178629.html
5-8.
幾何。計算面積和體積。
(a)正方形和立方體
(b)圓和球
【答案】
代碼如下:
a = float(raw_input('Please input a numner: ... '))
print 'If this is a side length of a square ...'
print '... the acreage of this square is %f' % (a * a)
print 'If this is a side length of a cube ...'
print '... the cubage of this cube is %f' % (a * a * a)
print 'If this is a radii of a circularity ...'
print '... the acreage of this circularity is %f' % (3.14159 * a * a)
print 'If this is a radii of a sphere ...'
print '... the cubage of this sphere is %f' % (3.14159 * a * a * a * 4 / 3)
【參考】用Python做科學計算
http://hyry.dip.jp/pydoc/index.html#
一篇推薦這個網站的文章
http://blog.sina.com.cn/s/blog_4b5039210100mrdl.html
怎樣用Python計算圓周率
http://my.opera.com/yunt/blog/show.dml/295271
5-9.
數值形式回答下面關於數值格式的問題:
(a)為什麼下面的例子裡17+32等於49,而017+32等於47,017+032等於41?
>>> 17 + 32
49
>>> 017 + 32
47
>>> 017 + 032
41
(b)為什麼下面這個運算式我們得到的結果是134L而不是1342?
>>> 56l + 78l
134L
【答案】
(a)因為Python中0開頭的數字表示八位元。八位元017表示15,而八位元032表示26,所以得到如題所示答案。
(b)561加上781才是1342,而56l加上78l是134L。