首先先提出问题,在python3中直接print(3**2**3)会输出什么呢?
print(3**2**3)
输出结果为:
6561
你自己计算的答案是不是729呢?
如果是从左往右算的话
print(3**2)
print(9**3)
也就是先算3的平方是9,再算9的三次方即729.,然后就顺利的算错了。
正确算法:python中幂运算符**如果是多个的话,应该先算右边再算左边,也就是从右往左计算
即
print(3**8)
2**3是8 然后在算左边3**8,输出结果为:
6561
记录一下幂运算符的坑。
博客以Python3中print(3**2**3)的计算为例,指出很多人会从左往右计算得出729的错误结果。实际上,Python中多个幂运算符应从右往左计算,正确结果是先算2**3得8,再算3**8。提醒大家注意幂运算符的计算顺序。
&spm=1001.2101.3001.5002&articleId=90548115&d=1&t=3&u=c061e65520d848e2bcb46dbc369a9cf7)
424

被折叠的 条评论
为什么被折叠?



