Poi*_*oik 3 python sign python-2.7
IDLE的以下输出对我来说毫无意义.
>>> a=-1.0
>>> a**(1/3)
1.0
>>> a==-1.0
True
>>> -1.0**(1/3)
-1.0
Run Code Online (Sandbox Code Playgroud)
为什么两个理论上等价的陈述会返回不同的结果?Python(2.7)如何处理__pow__双倍的方法,这是结果?我只是用整数尝试它并收到相同的结果.除了计算__pow__函数输入的符号并将其复制到结果之外,我该如何解决这个问题?
这是运营商的优先问题:
>>> -1.0**(1/3)
-1.0
>>> (-1.0)**(1/3)
1.0
Run Code Online (Sandbox Code Playgroud)
另外,请注意,(1/3)除非您division从中导入,否则为零__future__,这会产生Python 3.x行为(和a ValueError).使用1/3.得到1/3为float.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |