数値「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」だったね!
「+=」は、一番多く使う書き方だよ!
- 演算のために用いた変数に、演算結果を再代入することを「自己代入」という。
- 「自己代入」を省略した書き方があり、「累算代入演算子」という。