Така че аз съм най-големият от начинаещите, които се опитват да преминат през курсовете по Python в Codeacademy. Последният проблем в раздела за списъци и речници (http://www.codecademy.com/courses/python-beginner-en-IZ9Ra/1#!/exercises/3) ви моли да отпечатате общата стойност на наличност от различни артикули на различни цени, определени като това:
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 милиона) поради подобно объркване, мисля.
Благодаря ти! (Ако това е лош въпрос за публикуване или е лошо формулиран, моля, обяснете. Благодаря ви отново!)