例えば蓋付きの木箱を作るレシピがあって必要な材料の在庫がある時に何個作れるかを計算するプログラムを作るとします。
私の場合はレシピと在庫を辞書を使って計算してなんとか正解が出るように作れたのですが、もっとスマートな書き方があるのではないかと模索中です。
なんとなく想像するのですが実装するきっかけが無くコードを書き出せないでいます。
例えば辞書を使わない方法でこんな書き方も出来るよというサンプルやリンクなどあればご教示ください。
自分でも何かしら実装できるように模索しているのでヒントなど頂ければ助かります。
Python3
1recipe = dict([['板',6],['釘',12],['蝶番',2],['ネジ',8]]) 2stock = dict([['板',100],['釘',101],['蝶番',102],['ネジ',103]]) 3count = 0 4chk = True 5 6#本題では無いのでここは無視して常に在庫種類はある前提でOKです 7#全ての材料の種類がストックに含まれるか確認 8for parts in recipe: 9 if parts not in stock: 10 chk = False 11 break 12 13#何れかの在庫が足りなくなるまで在庫から必要数を引き算 14while(chk): 15 for k, v in recipe.items(): 16 if stock[k] >= v: 17 stock[k] = stock[k] - v 18 else: 19 chk = False 20 break 21 if chk: 22 count += 1 23print(count,'個作れます')
8 個作れます
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/04 00:00