2016-03-28 7 views
0

Ich bin fest auf ein Problem, wo wir müssenProducing Wert ein Koordinatensystem

build_board(coords,size): 

Given a list of coordinates for the locations of 
int size, build a board (a list of lists of Booleans) of that size, and mark cells with a queen 
True. 

Beispiele basieren off:

build_board([(0,0)],1) → [[True]] 

build_board([(0,0)],2) → [[True, False], [False, False]] 

build_board([(0,0),(1,1)],2) → [[True, False], [False, True]] 

Der Kontext ist, dass wir eine Funktion aus dem Spiel zu machen als solche

def build_empty_board(size): 
    size=int(size) 
    ans = [ [False for x in range(size)] for x in range(size) ] 
    return ans 

Allerdings weiß ich nicht, wie eine Schleife codieren, die eine Syst koordinieren jedes Brett gemacht und produzieren Werte aus überprüft em. Könnte mir jemand erklären, wie man das programmiert?

Antwort

1

Was ist mit diesem Ansatz:

def build_board(coords, size): 
    # if any(i < 0 for coord in coords for i in coord): 
    #  return 
    board = [[False] * size for _ in range(size)] 
    for (row, col) in coords: 
     if row < 0 or col < 0: 
      return 
     board[row][col] = True 
    return board 

print(build_board([(0,0)],1)) #[[True]] 
print(build_board([(0,0)],2)) #[[True, False], [False, False]] 
print(build_board([(0,0),(1,1)],2)) #[[True, False], [False, True]] 
print(build_board([(0,0),(-1,3)],2)) #None 
+0

Dies scheint zu funktionieren, aber ich weiterlaufen in einen Fehler auf dieser scheinbar Linie. Board [Zeile] [Col] = True. Der Fehler ist ein Indexfehler: Listenindex außerhalb des Bereichs. Irgendeine Reparatur? – Jessica

+0

Können Sie mir die Parameter nennen, mit denen Sie es anrufen? – Bahrom

+0

oh warte, ich denke es liegt daran: build_board ([(0,0), (- 1,3)], 2) → Keine \t \t #invalid \t koordinieren. Jede negative Koordinate soll keine erzeugen. Ich denke, das könnte der Grund sein? Könnten Sie dies auch in Ihren Code aufnehmen? Entschuldigung: 3 – Jessica

Verwandte Themen