pow运算符的计算错误

发布于 2021-01-29 15:00:20

应该print (-2 ** 2)返回什么?根据我的计算,应该是4,但是解释器会返回-4
这是Python的事情,还是我的数学很糟糕?

关注者
0
被浏览
89
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    根据docs**其优先级高于-,因此您的代码等同于-(2 ** 2)。为了获得理想的结果,您可以将其-2放在括号中

    >>> (-2) ** 2
    4
    

    或使用内置pow功能

    >>> pow(-2, 2)
    4
    

    math.pow功能(返回float值)

    >>> import math
    >>> math.pow(-2, 2)
    4.0
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看