2
我不知道如何讓Python在執行重複正弦時像我的計算器一樣運行。使用Python複製計算器結果
我的Python代碼:
number = float(.565)
pi = float(math.pi)
for j in range(25):
number = round(math.sin(number*pi), 16)
這將返回0.446445551265。
當我用我的計算器做同樣的操作時,我得到了0.4464454868。
無論我用於round()
的精度如何,我都無法獲得與我的計算器相同的結果。
我也試過使用十進制庫,但沒有得到任何更好的結果。有任何想法嗎?
你怎麼知道計算器的結果是正確的? –
與你的計算器給你的程序和你正在運行的程序的區別小於'10e-8'。誰在乎差異?關於浮點的一個重要的事情是你正在處理精度有限的實數的表示。計算器和計算機之間的內部表示方式的細微差異將導致這種微小差異(由於累積效應而顯示)。 –
另外,pi總是需要在某個點上舍入,所以最可能的原因是「math.pi」和計算器的「π」按鈕的精確度不同。 –