>>> a=3
>>> a+2.0
5.0
>>> a=a+1.0
>>> a
4.0
なぜ4.0が来るのか理解できません。私は6.0が答えであるべきだと思います。結果が 4.0 である理由を説明してください。
2 行目a+2.0
で の値を変更していないa
ため、3 行目a
はそのまま3
で、期待どおりa+1.0
です4.0
。
注意深く見ると、式の結果を代入していません:
確かに印刷された 5.0 ですが、aへa+2.0
の代入がないため、a は変更されていません。(a=a+2.0)
a+2.0
backの結果を に代入していないa
ため、後でを代入してもa=a+1.0
、a
は に設定されたまま3
です。
他の人があなたの質問に直接答えています。プロンプトで作業するときに考慮すべきもう 1 つの点があります。
>>> 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
「最後の結果の値」を意味する「_」はいつでも使用できます。