自学coding,这行代码的操作顺序是怎样的?
print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
我尝试先做余数和除法,所以我得到 3 + 2 + 1 - 5 + 0 - 0.25/4 + 6。然后我从左到右完成 AS,得到 0.075。完全错误,因为 LPTHW 把它放在 7。请提供详细的操作命令。
我用 Google 搜索了 Python 的操作顺序,但结果并不太详细。
print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
预期结果为7,实际得到0.075
请您参考如下方法:
这取决于您使用的 Python 版本。
在 Python 2 中,/ 运算符默认为 整数 除法,因此 1/4 == 0。
另一方面,在 Python 3 中,/ 运算符默认为 true 除法,因此 1/4 == 0.25。在 Python 3 中必须使用 // 来实现整数除法。
无论如何,Python 仍然遵循经典的 PEMDAS 运算顺序,因此模数和除法仍然首先发生,然后是从左到右的加减法。
以下是在两个版本中进行模数和除法后问题如何减少:
python 2
(3 + 2 + 1 - 5 + 0 - 0 + 6) == 7
python 3
(3 + 2 + 1 - 5 + 0 - 0.25 + 6) == 6.75
