#28828: Python 解答


oxxostudio (oxxo.studio)

學校 : 不指定學校
編號 : 173961
來源 : [220.133.228.250]
最後登入時間 :
2022-07-21 09:26:00
a647. 投資專家 | From: [114.40.113.45] | 發表日期 : 2022-01-06 17:22

這題的關鍵在於「小數點的誤差」,
由於 Python 的小數點並非真正顯示的長相,所以如果單純計算或使用 round 的方法,
會造成結果的判斷錯誤 ( 例如 2.5 其實是 2.4999... 參考「round(x, y)」 )。

爲了避免這種狀況發生,
除了不要使用 round 四捨五入,需要再透過加減一個誤差數值 0.00001 ( 比計算出來的小數位數還要小的數值 ),
來處理肉眼看不見的數字誤差,處理誤差後,使用單純的邏輯判斷與格式化字串,就能得到正確的結果。

解答:https://steam.oxxostudio.tw/category/python/zerojudge/a647.html

 
ZeroJudge Forum