2015-11-21 4 views
0
def reveal(board, row, col): 
    board[row][col] = "C" + board[row][col][1] 
    count = 0 
    board =[] 
    rowcount = 0 
    for i in board: 
     if count in mines: 
      i = 'C*' 
     print("| ", i, end=" ") 
     if rowcount == 9: 
      print("|") 
      rowcount = 0 
     else: 
      rowcount += 1 
     count += 1 

    board = [] 
    mines = [] 
    for i in range(9): 
    board.append([]) 
    for j in range(12): 
    board[i].append('C*') 

    for i in range(9): 
    for j in range(12): 
     #Error Below it says Index Not in Range 
     print("|", board[i][j], end=" ") 
    print("|") 
    mines = [] 
    for i in range(9): 

    loc = random.randint(0, 99) 
    while loc in mines: 
     loc = random.randint(0, 99) 
    #board[loc] = 'C*' 
    bombs.append(loc) 

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

+2

исправить отступ – lejlot

+0

Можете ли вы уточнить и, возможно, не проголосовать за мой вопрос? – user5561413

ответ

2

Быстрый догадка это:

for i in range(9): 
board.append([]) 
for j in range(12): 
    board[i].append('C*') 

Предназначенный как это, он запускает две независимые петли, так i будет иметь последнее значение (8), и вы добавляете только к последней строке.

Если исправить отступы это будет выглядеть следующим образом:

for i in range(9): 
    board.append([]) 
    for j in range(12): 
     board[i].append('C*') 

Затем он будет работать правильно.

Вот почему вы должны использовать размер отступа более чем один пробел, так что вы действительно видите разницу!

+0

Спасибо вам большое! Я добавил больше пробелов в свой код для отступов, и я действительно могу сказать разницу! Ты лучший! – user5561413

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