前提・実現したいこと
自販機でお金を入れて商品を買い、できるだけ少ない枚数(個数)でお釣りを返す。
なぜか出力結果のお釣りの合計が、入れたお金から商品の金額を引いた値と等しくない
なぜこのようなことが起こっているのか、そして解決方法が知りたい
該当のソースコード
python
1m_in = int(input()) 2goods = int(input()) 3 4m_list = [10000, 5000, 1000, 500, 100, 50, 10, 5, 1] 5pay_dict = {} 6 7 8m_out = m_in - goods 9print(m_out) 10for i in m_list: 11 count = 0 12 while m_out > i: 13 m_out -= i 14 count += 1 15 if count != 0: 16 pay_dict[i] = count 17 18print(pay_dict)
1000 150 850 {500: 1, 100: 3, 10: 4, 5: 1, 1: 4}
試したこと
載せているコードにもあるようにm_outが正しく出力されているか確かめた
おつりが500の時whileどう動くか確認しみては。
回答2件
あなたの回答
tips
プレビュー