四則演算
残りいくら使えるのか、毎回暗算したくない
おこづかい帳の心臓部は計算です。予算のうちいくらか使ったら、残りはいくらか。この引き算を Python にやらせます。
Python は電卓としてそのまま使えます。数値はクオートで囲みません。囲むと文字列になり、計算ではなく連結になってしまいます。
Python
print(1000 - 350 - 200)450 と出ます。- は左から順に処理されるので、まず 1000 - 350 が 650 になり、そこから 200 を引いています。
記号は算数と少し違う
足し算 + と引き算 - はそのままですが、掛け算と割り算は見慣れない形をしています。
Python
print(10 + 3)
print(10 - 3)
print(10 * 3)掛け算は × ではなく半角のアスタリスク *、割り算は ÷ ではなくスラッシュ / を使います。10 x 3 と書くと文法エラーです。記号はすべて半角で、日本語入力のまま打つと全角の記号が混ざってそこで止まります。
掛け算が先に済んでしまう
計算には優先順位があります。* と / が先、+ と - があとで、算数と同じ規則です。
Python
print(100 + 20 * 3)
print((100 + 20) * 3)上は 20 * 3 が先に済むので 160、下はかっこの中が先なので 360 です。120 * 3 にはなりません。この手の取り違えはエラーが出ないまま答えだけがずれるので、いちばん見つけにくい部類に入ります。意図した順番があるなら、かっこで書いてしまうのが安全です。
やってみよう
関数 remaining を実装してください。引数は予算 budget、1 件目の支出 price1、2 件目の支出 price2 の 3 つで、予算から 2 件を引いた残額を返します。
remaining(3000, 120, 80) なら 2800 です。remaining(1000, 600, 600) なら -200 になりますが、これはエラーではなく正しい計算結果なので、マイナスのまま返してください。
戻り値は数値です。式をクオートで囲んで返すと、計算されずにその文字がそのまま返ってしまいます。また budget - (price1 - price2) のようにかっこを付けると引く向きが変わってしまうので、今回はかっこは要りません。
要件
- 関数名は remaining で、引数は budget、price1、price2 の3つ
- budget から price1 と price2 を引いた結果を return する
- 戻り値は文字列ではなく数値にする
- 残額がマイナスになってもそのまま返す
入出力例
remaining(3000, 120, 80) → 2800
remaining(5000, 1200, 800) → 3000
remaining(3000, 0, 0) → 3000
remaining(1000, 600, 600) → -200
remaining(500, 200, 300) → 0