2014-12-07 3 views

ответ

5

Второй пример воссоздания общей сложности на каждой итерации цикла. Вместо этого вы должны использовать что-то вроде этого:

total = 0 
for k in prices: 
    total+=prices[k]*stock[k] 

Это позволит установить total к нулю первоначально, и приращение общей для каждой итерации по количеству prices[k]*stock[k].

+0

Простите, ребята, только начали изучать питон вчера. На самом деле я сделал это в ноль в упражнении, но почему это необходимо, чтобы поставить это + вместо суммирования? –

+0

@RubemCarvalho: В вашем втором примере 'sum' не служит никакой полезной цели. Например, если вы были на итерации 'k = 5', ваш код вычислил значение' prices [5] * stock [5] '. Предположим, что значение оказалось «100». Затем код берет 'sum' этих аргументов, которые вы передали, что в этом случае будет выглядеть как' sum (100) '. Конечно, сумма 100 равна 100. Затем это значение присваивается «total», что заменяет итоговое значение с предыдущей итерации. Вместо того, чтобы заменять общее число, использование '+ =' добавит его к существующей сумме. – grovesNL

+0

О, я вижу. Сначала я подумал, что это сработает. Большое спасибо! –

Смежные вопросы