我突然遇到了这个问题,不明白为什么会发生这种情况!
在Python提示符上,使用**
操作符对3及以上的数字进行运算时,会得到错误的结果。例如:
>>> 2**2**2
16
>>> 3**3**3
7625597484987L
>>> 4**4**4
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096L
然后我想我必须使用括号,所以我使用了它,现在得到了正确的结果。
>>>(3**3)**3
19683
但是//
操作符也支持并且在这种情况下给出了正确的结果。
>>> 4//4//4
0
>>> 40//4//6
1
请帮我理解。
4 ** 256
返回什么? - Rohit Jain**
的行为符合文档,请始终查阅文档以获取意外行为的解释。请参考 http://docs.python.org/3.1/reference/expressions.html 中的第5.4节。 - Andrew Morton