有人知道为什么下面的代码在python中没有相同的结果吗?为什么我需要括号才能得到正确的结果?
# example 1 print 1-4 %5 outcome: -3 # example 2 print (1-4)%5 outcome: 2
ncecgwcz1#
这是由于运算符优先级。国防部( % )优先于 - ,因此:
%
-
1-4 % 5 == 1 - (4 % 5) == 1 - 4 == -3
但是
(1-4) % 5 == -3 % 5 == 2
rhfm7lfc2#
python运算符优先级的负刚低于模数http://www.mathcs.emory.edu/~valerie/courses/fall10/155/resources/op_.html
* , /, % Multiplication, division, remainder +, - Addition, subtraction
2条答案
按热度按时间ncecgwcz1#
这是由于运算符优先级。国防部(
%
)优先于-
,因此:但是
rhfm7lfc2#
python运算符优先级的负刚低于模数
http://www.mathcs.emory.edu/~valerie/courses/fall10/155/resources/op_.html