質問編集履歴
1
can110さんの回答を受けて、追記質問
title
CHANGED
File without changes
|
body
CHANGED
@@ -130,4 +130,87 @@
|
|
130
130
|
else:
|
131
131
|
print('NG')
|
132
132
|
|
133
|
+
```
|
134
|
+
|
135
|
+
|
136
|
+
# can110 さんの回答を受けての追記質問
|
137
|
+
|
138
|
+
以下のコードの☆の部分が質問内容です。
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
```ここに言語を入力
|
143
|
+
コード
|
144
|
+
|
145
|
+
|
146
|
+
recipe = {'apple': 2, 'bread': 1}
|
147
|
+
stok = {'bread': 11, 'apple': 20, 'orange': 15}
|
148
|
+
|
149
|
+
min_dish = 10000#最大所持量 / 最小レシピ量より
|
150
|
+
|
151
|
+
for food, amount in recipe.items():
|
152
|
+
# 持っていない
|
153
|
+
if food not in stok:
|
154
|
+
min_dish = 0
|
155
|
+
break
|
156
|
+
# 何人前作れるか。ただし最小に制限される
|
157
|
+
dish = int(stok[food] / amount)
|
158
|
+
# dish = 10, 11
|
159
|
+
☆質問部分
|
160
|
+
if dish < min_dish:
|
161
|
+
min_dish = dish
|
162
|
+
# min_Dish = 10
|
163
|
+
# 0人前ならこれ以上探しても意味がない
|
164
|
+
if min_dish <= 0:
|
165
|
+
break
|
166
|
+
|
167
|
+
print(min_dish)
|
168
|
+
|
169
|
+
|
170
|
+
出力値
|
171
|
+
|
172
|
+
10
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
質問内容
|
177
|
+
|
178
|
+
☆ dish=10,11
|
179
|
+
|
180
|
+
どちらの数字も dish < min_dish(10000)に該当する
|
181
|
+
10,11では求めたい数字は最小の10
|
182
|
+
|
183
|
+
10,11でもどちらでも成立してしまうのでは....
|
184
|
+
|
185
|
+
なぜ、min_dish = dish の式で
|
186
|
+
10,11 のふたつの内最小の数が最後に残るのかが理解できません。
|
187
|
+
|
188
|
+
dishのリストを作成し、min()最小値を求める方がより正確のではと思ったのですが、結果はどちらとも正常でした。
|
189
|
+
|
190
|
+
重ね重ね質問申し訳ありません。お時間がある時で構いませんのでお返事頂けたら幸いです。
|
191
|
+
|
192
|
+
|
193
|
+
# dish < min_dish の集めるリスト作成
|
194
|
+
ans = []
|
195
|
+
|
196
|
+
for food, amount in recipe.items():
|
197
|
+
# 持っていない
|
198
|
+
if food not in stok:
|
199
|
+
min_dish = 0
|
200
|
+
break
|
201
|
+
# 何人前作れるか。ただし最小に制限される
|
202
|
+
dish = (int(stok[food] / amount))
|
203
|
+
ans.append(dish)
|
204
|
+
# print('dish is ', dish)
|
205
|
+
if dish < min_dish:
|
206
|
+
min_dish = min(ans)
|
207
|
+
# print('min_dish is ',min_dish)
|
208
|
+
# 0人前ならこれ以上探しても意味がない
|
209
|
+
if min_dish <= 0:
|
210
|
+
break
|
211
|
+
|
212
|
+
print(min_dish)
|
213
|
+
|
214
|
+
|
215
|
+
|
133
216
|
```
|