Вложенные циклы с матрицей - зачем вообще эта вторая матрица? - PullRequest
2 голосов
/ 09 февраля 2012

Это пока не имеет смысла для меня.Таким образом, первый цикл while запускается и печатает матрицу [0] [0], матрицу [0] [1], матрицу [0] [2] и матрицу [0] [3] до тех пор, пока j = 4 и не меньше len(matrix[i]).Хорошо, но теперь он выскакивает и возвращается к while i<len(matrix):.Разве это не заставит его снова прочитать j=0 и сразу вернуться во вложенный цикл while?

matrix = [[4,5,6,7],[2,4,9,3]]
i=0
while i<len(matrix):
    j=0
    while j<len(matrix[i]):
        print matrix[i][j]
        j=j+1
    i=i+1

1 Ответ

4 голосов
/ 09 февраля 2012

Да, и это именно то, что он делает.

Убедитесь сами, добавив оператор печати:

matrix = [[4,5,6,7],[2,4,9,3]]
i=0
while i<len(matrix):
    j=0
    while j<len(matrix[i]):
        print 'i = {}, j = {}, element = {}'.format(i,j,matrix[i][j])
        print matrix[i][j]
        j=j+1
    i=i+1

Кстати, это очень непитонный способ зацикливания в python.Это эквивалентно и более подходит для языка:

matrix = [[4,5,6,7],[2,4,9,3]]
for row in matrix:
  for element in row:
    print element
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...