下面是这种情况:歧义基本的算术运算的Python
In [5]: (2.0 - 5.0**(0.5)) ** (1.0/3.0)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-5-d064023f1ac5> in <module>()
----> 1 (2.0 - 5.0**(0.5)) ** (1.0/3.0)
ValueError: negative number cannot be raised to a fractional power
In [7]: -1.0 ** (1.0/3.0)
Out[7]: -1.0
上述操作正在对Python解释器来完成。对于第一个表达式,它给出了值错误,并说negative number can't have fractional power
!所以,首先,为什么这个错误很明显,-ve数字可以有立方根或第五根等。另外,如果是这种情况,它应该是一致的,而在第二种情况下,当-1被提升为分数功率(1/3)。
有人可以解释为什么是这种情况?
你使用的是Python 2不是吗?)在py3k中,实际工作得到(0.30901699437494756 + 0。535233134659635j) –
yes,它的python2 – vish4071
然后只是复杂的((2.0 - 5.0 **(0.5)))**(1.0/3.0) –