
数値「3」と「5」と「7」の3つの数値があるとするよ。
一つの変数だけを使って、この3つの数値を順に足していって、総合計を計算するにはどうしたらいいと思う?
「3 + 5 + 7」って、計算するんじゃないよ!



こんなふうに、順に数値を足していく計算をするときには、「自己代入」という方法を使うんだよ!

演算のために用いた変数に、演算結果を再代入するから「自己代入」っていうんだ!


こんな順番で、計算されていくよ!

使い方の例
📝1
「自己代入」で、数値「1」と「2」と「3」の合計を計算してみました。
sum = 1
sum = sum + 2
sum = sum + 3
print("合計:", sum)
📝2
「0から50」までの数値の合計を、繰り返しを使って計算する例です。

「自己代入」は、繰り返しと合わせたときに威力を発揮するんだよ!
そうそう!「1+2+3+4+5+6+7+8+.....」の合計も、簡単に計算できるんだよ!

sum = 0
for i in range(51):
sum = sum + i
print("合計:", sum)

どうして繰り返す回数は「51」なのか、考えてみてね!
繰り返しの中で、変数の値を表示させてみると、もっと理解できるよ!

📝3
「自己代入」は、「足し算」だけでなく「引き算」「掛け算」「割り算」の計算もできます。
num = 3
num = num - 1 #変数numの値から1を引く
print(num)
num = num * 2 #変数numの値に2を掛ける
print(num)
num = num / 3 #変数numの値を3で割る
print(num)
📝4
「自己代入」には、省略した書き方があります。

省略した書き方のことを、「累算代入演算子」というよ!
「累算代入演算子」を使ったほうが、コードが短くてわかりやすくなるんだよ!

自己代入 | 省略した書き方 | 累算代入演算子 |
---|---|---|
A = A + B | A += B | += |
A = A - B | A -= B | -= |
A = A * B | A *= B | *= |
A = A / B | A /= B | /= |
num = 5
num += 1 #変数numの値に1を足す
print(num)
num -= 2 #変数numの値から2を引く
print(num)
num *= 3 #変数numの値に3を掛ける
print(num)
num /= 4 #変数numの値を4で割る
print(num)
やってみよう
⌨️1
「0から50」までの数値の合計を、「累算代入演算子」を使って計算してください。
📖 解答例と解説
sum = 0 for i in range(51): sum += i print("合計:", sum)

「sum = sum + i」を省略した書き方は、「sum += i」だったね!
「+=」は、一番多く使う書き方だよ!

- 演算のために用いた変数に、演算結果を再代入することを「自己代入」という。
- 「自己代入」を省略した書き方があり、「累算代入演算子」という。