解説
2割引のあと1割引は3割引?AIの割合計算で元になる金額を確かめよう
「20%引き、さらに10%引き」なら、合わせて30%引きなのかな。順番に割り引くときは、毎回の元になる金額を確かめよう。

「20%引き、さらに10%引き」なら、合わせて30%引きなのかな。順番に割り引くときは、毎回の元になる金額を確かめよう。
このページでは架空の1000円を使って、続けて割合を掛ける計算を知る。実際の購入や決済は行わず、電卓だけで試せるよ。店舗の割引条件や税の扱いは、それぞれの案内を読む必要がある。
最初の割引後が、次の基準
1000円を20%引きにすると、残るのは80%なので800円。そこから10%引きなら、800円の90%で720円になる。
| 段階 | 計算 | 結果 |
|---|---|---|
| 元の金額 | — | 1000円 |
| 20%引き | 1000×0.8 | 800円 |
| さらに10%引き | 800×0.9 | 720円 |
元の1000円から減ったのは280円で、全体では28%引き。20と10を足した30%にはならないんだ。
「さらに」の条件を読み直そう
二つ目の10%が、割引後の金額に対するものか、元の金額に対するものかで結果は変わる。クーポンの併用可否、対象商品、上限なども計算の前提になるよ。
表現が曖昧なら、AIへ推測させずに条件を確認しよう。この記事は「割引後の金額へ順に掛ける」という前提を置いた練習だよ。
AIへの頼み方
「元の金額は1000円。20%引きした残額を、さらに10%引きしてください。各段階の基準額、残額、元の金額に対する合計の割引率を示してください」と頼める。
期待するのは、800円、720円、28%という対応が見えること。答えだけをもらうより、各段階の金額を元の表と照合しやすいよ。
文字列からDecimalへ渡す例
PythonのDecimalは、十進数の計算に使える。次の例は端数の出ない練習だよ。
from decimal import Decimal
original = Decimal('1000')
after = original * Decimal('0.8') * Decimal('0.9')
rate = (1 - after / original) * 100
print(after, rate)
数値としてafterは720、rateは28になる。末尾の0の表示は計算上の表現による。実際の金額に端数が出るなら、丸めをどの段階でどう行うかも別に決めよう。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。