基于python 開立方的注意事項說明
在python中,** 就是指數(shù)運算,所以我們習(xí)慣性的覺得
確實在數(shù)學(xué)中,這的確是正確的,但是在python中這么寫,你就會發(fā)現(xiàn)有一些錯誤,
4**3=64
所以,64開立方應(yīng)該是3,然而在python中的運行結(jié)果如下:
64**(1/3)=3.9999999999999996
so interesting,我們在運行
16**(1/2)=4
這是對的,為啥開立方就不對了呢,更有意思的是按照上面的寫法,你會發(fā)現(xiàn)負(fù)數(shù)開出來是復(fù)數(shù),這里有兩個fu數(shù)。
看個例子:
(-64)**(1/3)=(2+3.464101615137754j)
不應(yīng)該是-4嗎,怎么會出來復(fù)數(shù)呢?
這其實和優(yōu)先級有關(guān)系,(1/3)先運行得到0.3333333333333333,然后在運行 ** 指數(shù)運算,那么有什么解決方法嗎
這里我用的是numpy
np.cbrt(-64)=-4.0
其它方法也有,不過我覺得這個比較好
補充:python中開n次方根
利用pow(a, b)函數(shù)即可。需要開a的r次方則pow(a, 1/r)。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. JSP動態(tài)網(wǎng)頁開發(fā)原理詳解2. ASP顯示頁面執(zhí)行時間的方法3. SpringBoot+Docker+IDEA實現(xiàn)一鍵構(gòu)建+推送、運行、同鏡像多容器啟動4. Java并發(fā)編程之Executor接口的使用5. JavaScript判斷數(shù)據(jù)類型有幾種方法及區(qū)別介紹6. 推薦值得學(xué)習(xí)的12款python-web開發(fā)框架7. 淺談java中HashMap鍵的比較方式8. JavaScript實現(xiàn)動態(tài)留言板9. vue父子組件傳值不能實時更新的解決方法10. 以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式
