2014-12-12 2 views
0

В более раннем посте я говорил о создании бинарной головоломки. Я применяю механизм проверки. Пока мой механизм проверки работает, но только на столбцах.Цитирование по строкам в списке 2d

Это мой совет:

board = [] 
for i in range (1, col+1): 
    bord.append([' ']*col 

col является переменной, так что плата может быть любого размера.

Это выглядит примерно так:

A B C D E 
1 '' '' '' '' '' 
2 '' '' '' '' '' 
3 '' '' '' '' '' 
4 '' '' '' '' '' 

и он заполнен (или будет заполнен) с 0, 1.

Вот мой чек механизм:

def chekbaord(board): 
    ok = True 
for i in range (0, len(board[0])): 
    s = "" 
    for j in range(0, len(board)): 
     s = s +board[i][j] 
    if "111" in s or "000" in s: 
    print("not possible") 

Эта проверка отлично работает только на колонках (ось х). У меня возникают проблемы с переходом по списку по оси Y (строки). Я не знаю, как это сделать.

+0

Где ваша попытка, и то, что именно проблема с этим? Ссылаясь на * «более ранний пост» *, не полезно; если имеется соответствующая информация, укажите это ** в этом вопросе **. – jonrsharpe

ответ

0

range Своп в for петель как:

def chekbaord(board): 
    ok = True 
for i in range (0, len(board)): # board[0] changed to board 
    s = "" 
    for j in range(0, len(board[0])): # board changed to board[0] 
     s = s +board[i][j] 
    if "111" in s or "000" in s: 
    print("not possible") 
+0

Вам также необходимо поменять 'i' и' j' на 'board [i] [j]' - если плата не квадратная. На самом деле, я просто поменял бы 'i' и' j' в 'for' заявлениях и оставил' board [i] [j] 'в покое. – ErikR

+0

спасибо, что очень помогло – Kruko

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