为什么这段代码会产生不同的输出?(python)

问题描述 投票:0回答:1

下面的代码给出了不同的输出,我不知道为什么。我有基本的编程知识,所以如果很明显请原谅我。

Num = -0.8

Print(-0.8**-0.8)

Print(Num**Num) 

输出:

-1.1954406247375462

(-0.967131781178879-0.7026623692120304j)

为什么第二个输出给出一个虚数作为输出?我基本上想要第一个输出,但使用变量而不是实际数字。

我尝试了

print(-(Num)**Num))
,因为我认为这是一个运算符优先级问题,但结果仍然相同。

python variables floating-point exponent negative-integer
1个回答
0
投票

加上括号效果更好:

Num = -0.8

print((-0.8)**(-0.8))

print(Num**Num) 

结果:

(-0.967131781178879-0.7026623692120304j)
(-0.967131781178879-0.7026623692120304j)
© www.soinside.com 2019 - 2024. All rights reserved.