这篇教程基于python 开立方的注意事项说明写得很实用,希望能帮到您。 在python中,** 就是指数运算,所以我们习惯性的觉得 
确实在数学中,这的确是正确的,但是在python中这么写,你就会发现有一些错误, 4**3=64
所以,64开立方应该是3,然而在python中的运行结果如下: 64**(1/3)=3.9999999999999996
so interesting,我们在运行 16**(1/2)=4
这是对的,为啥开立方就不对了呢,更有意思的是按照上面的写法,你会发现负数开出来是复数,这里有两个fu数。 看个例子: (-64)**(1/3)=(2+3.464101615137754j)
不应该是-4吗,怎么会出来复数呢? 这其实和优先级有关系,(1/3)先运行得到0.3333333333333333,然后在运行 ** 指数运算,那么有什么解决方法吗 这里我用的是numpy 其它方法也有,不过我觉得这个比较好
补充:python中开n次方根 利用pow(a, b)函数即可。需要开a的r次方则pow(a, 1/r)。 以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。如有错误或未考虑完全的地方,望不吝赐教。 浅谈Django 页面缓存的cache_key是如何生成的 Python开多次方根的案例 |