我遇到了一些混乱的行为,在python中使用复数的平方根.运行此代码:
from cmath import sqrt
a = 0.2
b = 0.2 + 0j
print(sqrt(a / (a - 1)))
print(sqrt(b / (b - 1)))
Run Code Online (Sandbox Code Playgroud)
给出输出
0.5j
-0.5j
Run Code Online (Sandbox Code Playgroud)
类似的事情发生在
print(sqrt(-1 * b))
print(sqrt(-b))
Run Code Online (Sandbox Code Playgroud)
看来这些陈述对应该给出相同的答案吗?