在编程和python数学问题上,我是一个完整的菜鸟。如果我运行以下代码行,python将返回97作为答案。
print 100 - 25 * 3 % 4
97
为什么不是(100-25 * 3)=(100-75)= 25或(75 * 3)= 225?
答案 0 :(得分:1)
模运算符(%
)将same precedence作为乘法(*
),因此它们从左到右执行:
100 - ((25 * 3) % 4)
= 100 - (75 % 4)
= 100 - 3
= 97
答案 1 :(得分:1)
它被称为precedence。
100 - 25 * 3 % 4
是
100 - ((25 * 3) % 4)
100 - (75%4)
100 - 3
97
出于同样的原因,1 + 2 * 3
是
1 + (2 * 3)
1 + 6
7
而不是9。
答案 2 :(得分:1)
模(%
)运算符与乘法(*
)和除法(/
)具有相同的优先级。让我们一次在运算符上解释这个表达式:
print 100 - 25 * 3 % 4
print 100 - 75 % 4
print 100 - 3
print 97
答案 3 :(得分:0)
您需要添加括号以覆盖Python的默认优先级。因此,代码看起来应该更像这样:
100 - ((25 * 3) % 4)
希望我能帮忙!