算術演算
これまでに Python での算術演算と代入について見てきました。Python では、変数自体を変更する便利な代入方法が提供されています:
a = 10 # a = 10
b = 2 # b = 2
a = a + 2 # a = 12
b = b + 1 # b = 3
a = a * b # a = 36
print(a, b) # 36 3を出力
a = 10 # a = 10
b = 2 # b = 2
a += 2 # a = 12
b += 1 # b = 3
a *= b # a = 36
print(a, b) # 36 3を出力
同じ変数に対してそれ自体を使って新しい値を代入することで、その変数を変更することが可能です。ここで
a = a + 2
は a = 10 + 2
として実行され、したがって a
に 12
が代入され、以前の値は忘れられます。式 a = a + 2
は a += 2
と簡略化でき、これは全く同じ意味で、a
に 2
を加えて新しい値を a
に代入することを意味します。上記の2つのコードスニペットは全く同じ動作をします。右側のものは左側の操作の省略形です。以下は Python で利用可能な代入演算の一覧です:
演算子 | 簡略形 | 式 | 説明 |
+= | x += y | x = x + y | y を x に加えて、その結果を x に代入します |
-= | x -= y | x = x - y | y を x から引いて、その結果を x に代入します |
*= | x *= y | x = x * y | x に y を掛けて、その結果を x に代入します |
/= | x /= y | x = x / y | x を y で割って、その結果を x に代入します |
%= | x %= y | x = x % y | x を y で割った余りを計算し、その結果を x に代入します |
**= | x **= y | x = x ** y | x を y 乗して、その結果を x に代入します |
//= | x //= y | x = x // y | x を y で整数除算し、その結果を x に代入します |
チャレンジ
買い物をする際、合計金額を把握しておくことは重要です。しかし、記憶しておくのは必ずしも便利ではありません。そこで、そのプロセスを自動化し、各商品がバスケットに追加されるたびに合計金額を追跡するプログラムを作成することにしました。
商品がバスケットに追加されるたびに、購入全体の合計金額を出力するプログラムを書いてください。
入力は10行(5つの商品)です。各商品について、最初の行は商品の名前、2行目はその価格(整数値)です。
各入力の後、プログラムは
TOTAL:
に続けてバスケット内の合計金額を出力する必要があります。入力 | 出力 |
Noodle
10
Chicken
20
Matches
3
Toys
200
Lamp
40 | TOTAL: 10
TOTAL: 30
TOTAL: 33
TOTAL: 233
TOTAL: 273 |
ヒント:
total
という変数を用意して、最初に 0
を代入しておくことができます。アイテムがバスケットに追加された後、その価格を total
変数に加算し、出力することができます。Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB