2
>>> a=3
>>> a+2.0
5.0
>>> a=a+1.0
>>> a
4.0

无法理解为什么4.0即将到来。我认为6.0应该是答案。请解释为什么结果是 4.0。

4

4 回答 4

5

在第二行a+2.0,你没有修改 的值a,所以第三行仍然a是预期的。3a+1.04.0

于 2012-10-10T22:11:51.907 回答
3

如果你仔细看,你并没有分配你的表达式的结果: a+2.0肯定是 5.0 打印出来的,但是 a 没有改变,因为没有分配(a=a+2.0)给 a

于 2012-10-10T22:12:30.367 回答
2

您没有将a+2.0back 的结果分配给a,因此当您随后这样做时a=a+1.0a仍设置为3

于 2012-10-10T22:12:11.253 回答
0

其他人已经直接回答了你的问题。这是在提示下工作时要考虑的另一件事。

>>> a=3 # assignment does not update '_'
>>> a # have to ask for the value of 'a' so it ends up in '_'
3
>>> _ + 2.0
5.0
>>> _ + 1.0
6.0

您始终可以使用“_”,表示“最后一个结果的值”。

于 2012-10-10T23:53:16.863 回答