Хотя цикл внутри Пока цикл в питоне? - PullRequest
0 голосов
/ 01 мая 2018

Я новичок в питоне.

Второй цикл запускается только один раз, только в первый раз, но когда очередь доходит до первого цикла и когда e = e+1 - питон пропускает второй цикл!

Почему?

Заказ print действует только один раз.

 items  = [['.', '.', '.', '.', '.', '.'],
    ['.', 'O', 'O', '.', '.', '.'],
    ['O', 'O', 'O', 'O', '.', '.'],
    ['O', 'O', 'O', 'O', 'O', '.'],
    ['.', 'O', 'O', 'O', 'O', 'O'],
    ['O', 'O', 'O', 'O', 'O', '.'],
    ['O', 'O', 'O', 'O', '.', '.'],
    ['.', 'O', 'O', '.', '.', '.'],
    ['.', '.', '.', '.', '.', '.']]
i=0
e=0
while e < 6 :
    while i < 9 :  #python run this loop only once, and never come back when e=e+1
          print items[i][e]
          i=i+1
    e=e+1    

1 Ответ

0 голосов
/ 01 мая 2018

После того, как цикл 'i' запустится один раз, я установлю значение 9 и останусь равным 9, пока вы не сбросите настройки. так что вы можете попробовать установить его на 0 после е = е + 1. Полезная техника, которую вы можете попробовать, это также распечатать значения 'e' и 'i', чтобы увидеть, где петли пошли не так

items  = [['.', '.', '.', '.', '.', '.'],
    ['.', 'O', 'O', '.', '.', '.'],
    ['O', 'O', 'O', 'O', '.', '.'],
    ['O', 'O', 'O', 'O', 'O', '.'],
    ['.', 'O', 'O', 'O', 'O', 'O'],
    ['O', 'O', 'O', 'O', 'O', '.'],
    ['O', 'O', 'O', 'O', '.', '.'],
    ['.', 'O', 'O', '.', '.', '.'],
    ['.', '.', '.', '.', '.', '.']]
i=0
e=0
while e <6 :
    while i <9 : 
          print items[i][e]
          print 'loop: i'+str(i)+'e'+str(e)
          i=i+1
    e=e+1
    i=0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...