如何解决python中的分数分数不一致
在下面的示例中,请问有人可以解释为什么要根据输入的数字是直接输入还是将数字作为变量输入而得出不同的答案?
>>>print(-2**(1/0.33))
-8.169812850522913
>>>x=-2
>>>print(x**(1/0.33))
(-8.132819305372337-0.7765900841063754j)
客栈,如果有人能解释一下如何获得第一个答案却使用第二种方法,我将不胜感激
解决方法
由于operator precedence(**
的优先级高于一元 -
),因此您的第一个表达式的计算方式为:
-(2**(1/0.33))
# -8.169812850522913
在第二种情况下,由于您已经将-2
定义为变量,因此其求值为:
(-2)**(1/0.33)
# (-8.132819305372337-0.7765900841063753j)
哪个碰巧会产生一个复数。
,第一种情况,只有2具有指数,第二种情况为'-2'。
(-2)**(1/0.33)
应该给出第二个结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。