基於python 開立方的注意事項說明

2022-09-26 00:03:13 字數 655 閱讀 4091

在python中,** 就是指數運算,所以我們習慣性的覺得

確實在數學中,這的確是正確的,但是在pyt中這麼寫,你就會發現有一些錯誤,

4**3=64

所以,64開立方應該是3,然而在python中的執行結果如下:

64**(1/3)=3.9999999999999996

so interesting,我們在執行

16**(1/2)=4

這是程式設計客棧對的,為啥開立方就不對了呢,更有意思的是按照上面的寫法,你會發現負數開出來是複數,這裡有兩個fu數。

看個例子:

(-64)**(1/3)=(2+3.464101615137754j)

www.cppcns.com

不應該是-4嗎,怎麼會出來複數呢?

這其實和優先順序有關係,(1/3)先執行得到0.3333333333333333,然後在執行 ** 指數運算,那麼有什麼解決方法嗎

這裡我用的是numpy

np.cbrt(-64)=-4.0

其它方法也有,不過我覺得這個比較好

補充:python中開n次方根

利用pow(a, b)函式即可。需要開a的r次方www.cppcns.com則pow(a, 1/r)。

本文標題: 基於python 開立方的注意事項說明

本文位址:

python 開立方注意事項

在python中,就是指數運算,所以我們習慣性的覺得n 3 n 1 3 確實在數學中,這的確是正確的,但是在python中這麼寫,你就會發現有一些錯誤,4 3 64所以,64開立方應該是3,然而在python中的執行結果如下 64 1 3 3.9999999999999996so interesti...

python 爬蟲的注意事項

報錯1.selenium庫的使用 selenium.common.exceptions.webdriverexception message unknown error cannot find chrome binary 有兩種可能 沒有chromedriver 沒有找到chrome 對於第一種 用...

編寫基於DSP程式的注意事項

使用c c 語言編寫基於dsp程式的注意事項 1 不影響執行速度的情況下,可以使用c或c c 語言提供的函式庫,也可以自己設計函式。2 要非常謹慎地使用區域性變數,根據自己專案開發的需要,應盡可能多地使用全域性變數和靜態變數。3 一定要非常重視中斷向量表的問題。中斷向量表中的中斷名是任意取定的,ds...