2014-01-23 3 views
2

Я новичок в Python и я застрял на следующий код:Как работает эта программа на python?

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
for number in numbers: 
    print numbers 

Когда я запускаю эту программу, она печатает numbers последовательность 10 раз. Как это произошло? Я все еще не присвоил значение переменной number, так как он проверяет, находится ли число в диапазоне? Насколько мне известно, переменная number имеет нулевое значение.

+0

'for' связывает переменные' numbers' для вас. –

+1

Он печатает список чисел 10 раз, потому что вы печатаете 'numbers', а не' number'. См. Принятый ответ для объяснения того, как это работает. – elParaguayo

ответ

4

То, что у вас есть, является основным для цикла.

В более общем виде, допустим, у вас есть список L, с элементами L1, L2, L3, L4, L5.

В Python, то есть:

L = [L1, L2, L3, L4, L5] 

Теперь, если вы Переберите свой список L, как это:

for element in L: 
    print element 

Переменная element (который вы никогда не назначены раньше!) Будет автоматически присваивается значению первого элемента списка L, который равен L1. Затем в моем примере будет напечатано это значение, L1.

После этого в списке еще есть другие элементы! Таким образом, программа изменит значение переменной element и установит ее на значение второго элемента списка L, L2. Затем он напечатает значение element (так, L2) или что вы хотите с ним делать.

3

При определении for цикла:

for x in y: 

это автоматически присваивает значение каждого из Iterable y, в свою очередь, к имени переменной x.

К вашему коду вы можете добавить print number, чтобы узнать, что происходит на каждой итерации цикла.

0

Ваша печать numbers вместо number.

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