下面的代码给出了不同的输出,我不知道为什么。我有基本的编程知识,所以如果很明显请原谅我。
Num = -0.8
Print(-0.8**-0.8)
Print(Num**Num)
输出:
-1.1954406247375462
(-0.967131781178879-0.7026623692120304j)
为什么第二个输出给出一个虚数作为输出?我基本上想要第一个输出,但使用变量而不是实际数字。
我尝试了
print(-(Num)**Num))
,因为我认为这是一个运算符优先级问题,但结果仍然相同。
加上括号效果更好:
Num = -0.8
print((-0.8)**(-0.8))
print(Num**Num)
结果:
(-0.967131781178879-0.7026623692120304j)
(-0.967131781178879-0.7026623692120304j)