python - Python 中的模数和运算顺序

标签 python modulo operator-precedence

Zed Shaw 的 Learn Python the Hard Way (第15-16页),他有一个例子练习

 100 - 25 * 3 % 4

结果是 97(试一试!)

我看不到可以执行此操作的操作顺序..

100 - 25 = 75
3 % 4 = 0
或 (100-25*3) =225% 4 = ???但无论如何不是 97 我不认为...

一个类似的例子是 3 + 2 + 1 - 5 + 4 % 2 - 1/4 + 6 产生 7

操作按什么顺序完成?

最佳答案

对于第一个例子:*% 优先于 -,所以我们首先评估 25 * 3 % 4*% 从左到右具有相同的优先级和关联性,因此我们从左到右求值,从 25 * 3 开始。这会产生 75。现在我们计算 75 % 4,得到 3。最后,100 - 397

关于python - Python 中的模数和运算顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4729025/

相关文章:

PHP7 method_exists 未捕获错误 : Function name must be a string

C 运算符优先级 : Increment and logical operators

python - 当无法在多个线程上连接到服务器时,pymssql 出现段错误

python - 在 Ipython 中设置新主题时遇到问题?

haskell - 返回一个列表,其中包含一对元素,但前提是各个元素的总和是奇数

方案:余数函数 - 违反合约

Python IndexError : list index out of range. 无法按索引访问

python - Django REST 框架 : Customize data dict on JSONRenderer

algorithm - 计算 (a^(2^N))%m 的最快算法?

sql - 数字乘以常数会得到负数