Так что я самый ранний новичок, пытающийся работать через курсы Python по Codeacademy. Последняя проблема в разделе списков и словарей (http://www.codecademy.com/courses/python-beginner-en-IZ9Ra/1#!/exercises/3) просит вас напечатать общую стоимость запаса различных предметов по разным ценам, определенный как это:Должен ли я сделать это без sum()? [Python Codeacademy]
prices = {
"banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3
}
stock = {
"banana": 6,
"apple": 0,
"orange": 32,
"pear": 15
}
у меня было много проблем думать о том, как переносить результаты от одной итерации цикла for к следующему или вне цикла, чтобы я мог их суммировать. Я потратил некоторое время на это, и не мог найти хороших ответов, что заставляет меня думать, что я об этом неправильно думаю. Но в любом случае я обнаружить функцию sum()
, и поэтому я написал следующее и получил правильный ответ:
values = []
for items in prices:
value = prices[items] * stock[items]
values.append(value)
print sum(values)
Проблема заключается в том, что Codeacademy не научил меня sum()
еще, так что кажется, что я отсутствует довольно очевидный способ сделать это без него. Без этого я мог бы получить список отдельных значений для 4 разных элементов, но не мог их суммировать. Итак, может кто-нибудь может дать мне подсказку о том, как переносить результаты с одной итерации в следующую? Но, я думаю, это неправильный способ думать, верно? Если да, может кто-нибудь дать мне подсказку о том, как я должен думать?
Я застрял во второй проблеме Эйлера Эйлера (суммируйте четные числа последовательности Фибоначчи до 4 миллионов) из-за подобной путаницы, я думаю.
Спасибо! (Если это плохой вопрос для размещения или плохо сформулированы, объясните, пожалуйста. Еще раз спасибо!)
ах. Это имеет большой смысл. Спасибо! – nowhereroad
Обратите внимание, что OP, вероятно, еще не узнал '+ =', поэтому обратите внимание, что это то же самое, что и 'totalValue = totalValue + prices [item] * stock [item]' –
Спасибо, я не узнал, что от Codeacademy все же, но это действительно появилось в предыдущем googling. – nowhereroad