Объяснение:
В Python 3 переменные, используемые в генераторах списков, не влияют на переменные с тем же именем, объявленные вне их области видимости. Это происходит потому, что для выполнения генератора создаётся отдельная область видимости.
Однако, если бы вы запустили этот код в Python 2, переменная number, используемая внутри генератора, изменила бы значение переменной number вне его, и в результате она стала бы равной последнему значению цикла.
Таким образом, ответ для Python 3 — 5. Но если бы этот код был выполнен в Python 2, ответом было бы 49.
Но зачем вам запускать его в Python 2? Не делайте этого!
Post #3239
1.39K