「複数の商品を買ったときの合計金額とお釣り」を計算するプログラムを作ってみましょう。
ここでは、商品ごとの値段と個数を入力 → 合計金額を計算 → 支払金額からお釣りを出す という流れです。
複数商品対応のお釣り計算プログラム
# 複数商品の合計金額とお釣りを計算するプログラム
# 商品の数を入力
n = int(input("購入する商品の種類数を入力してください: "))
total = 0 # 合計金額
# 商品ごとの値段と個数を入力
for i in range(n):
price = int(input(f"{i+1}番目の商品価格(円): "))
qty = int(input(f"{i+1}番目の商品個数: "))
total += price * qty
print(f"\n合計金額は {total} 円です。")
# 支払金額を入力
payment = int(input("支払った金額を入力してください(円): "))
# お釣りを計算
change = payment - total
if change < 0:
print("お金が足りません!")
elif change == 0:
print("ちょうどのお支払いです。お釣りはありません。")
else:
print(f"お釣りは {change} 円です。")
# お釣りを紙幣・硬貨に分ける
coins = [10000, 5000, 1000, 500, 100, 50, 10, 5, 1]
for coin in coins:
count = change // coin
change %= coin
if count > 0:
print(f"{coin}円 × {count}枚")
Python実行例
購入する商品の種類数を入力してください: 2
1番目の商品価格(円): 120
1番目の商品個数: 2
2番目の商品価格(円): 80
2番目の商品個数: 3
合計金額は 480 円です。
支払った金額を入力してください(円): 1000
お釣りは 520 円です。
500円 × 1枚
10円 × 2枚
✅ ポイント
forループで商品ごとの「価格 × 個数」を合計- 支払金額との差でお釣りを計算
- お釣りを紙幣・硬貨に分ける処理は前回と同じロジック
これをさらに発展させて「商品名も入力してレシート風に表示」することもできます。

