python - Python 2.7 的操作顺序
问题描述
自学编码,这行代码的操作顺序是什么?
print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
我尝试先做余数和除法,所以我得到了 3 + 2 + 1 - 5 + 0 - 0.25 / 4 + 6。然后我从左到右完成了 AS,得到了 0.075。完全错误,因为 LPTHW 把它放在了 7。请提供详细的操作顺序。
我用谷歌搜索了 Python 的操作顺序,但结果并不太详细。
print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
预期结果为 7,但得到 0.075
解决方案
这取决于您使用的 Python 版本。
在 Python 2 中,/
运算符默认为整数除法,因此1 / 4 == 0
.
另一方面,在 Python 3 中,/
运算符默认为真除法,因此1 / 4 == 0.25
. 在 Python 3 中必须使用它//
来实现整数除法。
无论如何,Python 仍然遵循经典的 PEMDAS 运算顺序,因此模数和除法仍然首先发生,然后是从左到右的加法和减法。
以下是在两个版本中进行模数和除法后问题如何减少:
蟒蛇2
(3 + 2 + 1 - 5 + 0 - 0 + 6) == 7
蟒蛇 3
(3 + 2 + 1 - 5 + 0 - 0.25 + 6) == 6.75
推荐阅读
- api - JMeter 403 禁止
- javascript - .getElementById 在文档中找不到 id
- python - Tkinter 文件对话框询问打开文件名设置
- android - 使用标记启动 Google 地图方向
- c# - Unity Coroutine not working across scenes
- openstreetmap - 如何通过 API OpenStreetMap 从 GPS 坐标中找到地址?
- intellij-idea - 如何通过用随机字符串替换它们来阻止 Intellij 隐藏静态常量名称?
- swift - 当宽度为设备宽度且高度为原始图像的高度时,UIImageView 中的图像被剪裁
- firebase - flutter firebase_admob 集成 - 如何将它与应用程序风格一起使用
- iis - 如何在 IIS 中设置 ISO 日期格式