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