2013-11-27 3 views
0

У меня есть список предметов, я хочу, чтобы иметь возможность пройти через список. начните с индекса [0], если элемент находится на доске, добавьте 1 к индексу и продолжайте движение, если он не присваивает этому значению x, чтобы вычислить и выйти за пределы цикла. с тем, как у меня есть это, computermove является «b2», даже если его в списке, не следует его добавить 1 к указателю и петли назад вокруг, я не понимаю, чтоКак пройти через цикл for

list=["b2", "a1", "c3", "a3", "c1", "a2", "b3", "b1", "c2"] 
board = {0:'b2', 1:' ', 2:' ', 
     3:' ', 4:'a1', 5:' ', 
     6:' ', 7:' ', 8:'c3', 
     } 



for x in list: 
    if x in board: 
     x = x+1 
    else: 
     computermove= x 
     break 
+0

Вы, кажется, знаете в начале цикла, что цикл for петли над элементами, а не индексы. Почему вы пытаетесь использовать 'x', как если бы это был индекс? – stranac

+0

Кроме того, 'x in board' проверяет, находится ли' x' в ключах 'board'. – stranac

+0

, но разве это не единственный способ, который мог бы добавить 1 к нему, если бы это был индекс? как бы я его реализовать, чтобы он проверял значения платы? – user2864064

ответ

1

Вы, кажется, не понимаю, как работает цикл for.
Вы не должны увеличивать индексы вручную (и x в любом случае не является индексом), но пусть цикл for сделает это за вас.

Другая проблема заключается в том, что x in board проверяет, соответствует ли x ключам board, а не его значениям.

Вот один из возможных способов сделать (что часть) кодовую работы:

for x in list: 
    if x not in board.values(): 
     computermove = x 
     break 

Это действительно все, помощь, которую я могу дать вам с количеством кода/информации вы показали.

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