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
答案 0 :(得分:1)
*=
扩充分配将评估所有右侧,然后将左侧乘以结果。您在这里混淆了运算符的优先级,并认为加法是在乘法之后发生的,但事实并非如此。
因此,在扩展分配a
为4.6
和c
为1
之前,a *= 2+c
与a *= 3
相同,即{ {1}}或大约a = a * 3
(13.8
是13.79999 ...,但是如果使用repr
,它将四舍五入为一个有意义的数字)。