加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python 3输出奇怪的算术结果

发布时间:2020-12-20 12:41:25 所属栏目:Python 来源:网络整理
导读:我正在用 Python编写计算器,并正在处理求幂.在处理小数的指数时,我遇到了一些非常奇怪的东西,所以我尝试在控制台中重现问题.这就是我得到的: Python 3.5.2 (default,Oct 11 2016,04:59:56) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on da
我正在用 Python编写计算器,并正在处理求幂.在处理小数的指数时,我遇到了一些非常奇怪的东西,所以我尝试在控制台中重现问题.这就是我得到的:

Python 3.5.2 (default,Oct 11 2016,04:59:56) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help","copyright","credits" or "license" for more information.
>>> num1 = -3.0
>>> num2 = 2.5
>>> opr = '^'
>>> if opr == '^':
...     print(num1**num2)
... 
(4.772588574262081e-15+15.588457268119896j)
>>> -3.0**2.5
-15.588457268119896

有关如何避免第一个输出并获得第二个输出的任何指针?我不完全确定第一个输出甚至代表什么.

解决方法

第一个输出正确.这是一个复数,因为你有一个负数的十进制幂.

你无法重现它,因为在最后一行你应该写(-3.0)** 2.5.您所写的内容相当于 – (3.0 ** 2.5),因为取幂的优先级高于一元运算符 – .

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读