1. 程式人生 > >由python的math.log想到的問題

由python的math.log想到的問題

應該 -1 images 不清楚 疑惑 我們 解答 alt 返回

result = math.log(243,3)

print(result) 輸出5.0

print("%f"%result) 還是輸出5.0

技術分享技術分享

看出問題了嗎?對,沒錯。int(5.0) = 4?????

不只是這個,還有取余

技術分享

技術分享

5.0 mod 1 為 1?????

經過和同學的激烈討論。

得出了這麽一個結論。

其實result = math.log(243,3) ,返回的result是4.9999(具體多少個9)不清楚,總之不是我們覺得應該的5。

技術分享技術分享

所以可以解答上面的疑惑了。

1、int(result)其實是int(4.999.。。) = 4

2、result%1 其實是 4 余 0.999.。。

但是 無論你是格式化輸出還是print 0.9999。。。輸出是1

4.999.。。。。輸出是5.

由python的math.log想到的問題