我以为我了解BODMAS(英国的BIDMAS)。 我不确定为什么以下表达式以不同的顺序求值:

a = 8*4//3

我希望先进行“除法”,使a = 8*1相反,首先发生“乘法”,使a = 32//3 = 10

b = 9//3*7

根据BIDMAS规则,示例b计算结果为21。

似乎python从左到右执行一个表达式,并将“除法”和“乘法”视为等效。 发生了什么? 在此先感谢Faz。

===============>>#1 票数:2

BEDMASBIDMASBOMDASBODMASPEDMAS和其他操作顺序首字母缩写词中,除法和乘法具有相同的权重,并在其当前块内从左至右进行计算。

阅读本进行澄清。

===============>>#2 票数:0

如果进行乘法和除法,那么按6 * 5/3 = 10的顺序进行计算就没关系,例如与6/3 * 5 = 10相同。相加之处在于6 + 3 * 5 = 21,但(6 + 3)* 5 = 45。

===============>>#3 票数:0

将帖子上的评论变成一个独立的答案,因为此帖子显示在搜索结果的顶部:

在Python中以及根据BODMAS / BEDMAS / BIDMAS / BIMDAS / BOMDAS / PEDMAS 规则 ,乘法和除法具有相同的优先级,因此评估从左到右进行Python2 docs

  ask by Mr malik translate from so

未解决问题?本站智能推荐: