回答編集履歴

1

ロジックを修正。

2018/04/19 00:18

投稿

ikapy
ikapy

スコア1167

test CHANGED
@@ -1,6 +1,8 @@
1
1
  やはり辞書を使うのがよさそうですね。
2
2
 
3
3
  pythonコードではありませんが、流れを記述してみましたので参考にしてください。
4
+
5
+ 【訂正】よく考えたらロジックが間違っていたので修正しました。
4
6
 
5
7
 
6
8
 
@@ -10,7 +12,7 @@
10
12
 
11
13
 
12
14
 
13
- material(材料)の入力(辞書とする
15
+ material(材料)の入力(辞書として作成
14
16
 
15
17
 
16
18
 
@@ -22,29 +24,27 @@
22
24
 
23
25
 
24
26
 
25
- good_counter = 0 # 作成数
27
+ goods_counter = 0 # 作成数
26
28
 
27
29
 
28
30
 
29
- recipeのキーで回す。(for recipe_elem in recipe.keys())
31
+ while True: # ループ1
30
32
 
31
33
 
32
34
 
33
- キー recipe_elem material に存在しなければ、
35
+ 材料を消費する(recipeのキーで回す。for recipe_key in recipe.keys()) # ループ2
34
36
 
35
- 調理できないのでbreak
37
+ キー recipe_key が material に存在しなければ、調理できないのでループ1を脱出
36
38
 
37
-
39
+ 個々の材料を消費する(recipe_keyキーのmaterialの値から、そのキーのrecipeの値を引く)
38
40
 
39
- 消費しようとする(recipe_elemキーのmaterialから、そのキーのrecipeを引く)
40
-
41
- (material[recipe_elem] -= recipe[recipe_elem])
41
+ (material[recipe_key] -= recipe[recipe_key])
42
42
 
43
43
 
44
44
 
45
- meaterial のキーで回す。for material_elem in material.keys())
45
+ 調理可能の判断(material のキーで回す。for material_key in material.keys())# ループ3
46
46
 
47
- 該当キーの値が一つでもマイナスなら、調理できなのでbreak
47
+ キー material_key 材料の値がマイナスなら、調理できなかったのでループ1を脱出
48
48
 
49
49
 
50
50