Когда я попробовал это в терминалеValueError: отрицательное число не может быть повышен до дробной степени
>>> (-3.66/26.32)**0.2
я получил следующую ошибку
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: negative number cannot be raised to a fractional power
Однако, я могу сделать это в два этапа например,
>>> (-3.66/26.32)
-0.13905775075987842
>>> -0.13905775075987842 ** 0.2
-0.6739676327771593
Почему такое поведение? Каков способ решить эту проблему в одной строке?
(возможно), связанных с: http://stackoverflow.com/questions/4114740/negative-pow-in-python – TerryA
@ Haidro, Да, я видел вопрос, но мой вопрос: (-1.07) ** 1.3 бросает ошибку, но -1.07 ** 1.3 не бросает ошибку, почему? –
Я думаю, что это относится к сложным числам. Квадратный корень (дробная мощность) отрицательного 1 равен i. Это тюки, когда он думает, что он попадает в сложную территорию. – Jiminion