python中的增量(a * = b)

时间:2018-08-10 14:36:34

标签: python python-3.x increment

  

Q。)写出以下内容:

a=12
b=7.4
c=1
a-=b
print(a,b)            # I understood this much
a*=2+c
print(a)

我的答案是10.2,而答案应该是13.799999999999999

1 个答案:

答案 0 :(得分:1)

*=扩充分配将评估所有右侧,然后将左侧乘以结果。您在这里混淆了运算符的优先级,并认为加法是在乘法之后发生的,但事实并非如此。

因此,在扩展分配a4.6c1之前,a *= 2+ca *= 3相同,即{ {1}}或大约a = a * 313.8是13.79999 ...,但是如果使用repr,它将四舍五入为一个有意义的数字)。