我以为我了解BODMAS(英国的BIDMAS)。我不确定为什么以下表达式以不同的顺序进行评估:
a = 8*4//3
我希望“分裂”首先发生,给出a = 8*1
- 而不是'倍增'首先发生,给出a = 32//3 = 10
b = 9//3*7
根据BIDMAS规则,示例b
的计算结果为21。
似乎python从左到右执行一个表达式,并将'division'和'multiplication'视为等价。发生了什么?在此先感谢,Faz。
答案 0 :(得分:2)
在BEDMAS
,BIDMAS
,BOMDAS
,BODMAS
,PEDMAS
和其他order of operations首字母缩略词中,除法和乘法具有相同的权重并且在当前块内从左到右计算。
请阅读此section以获得澄清。
答案 1 :(得分:0)
如果你进行乘法和除法,那么你执行它的顺序并不重要,例如6 * 5/3 = 10与6/3 * 5 = 10相同。差异来自于6 + 3的加法3 * 5 = 21但是(6 + 3)* 5 = 45。
答案 2 :(得分:0)