Correct types, Remove comments
This commit is contained in:
parent
db2842bd0f
commit
fc3c3417e4
15
sudoku.py
15
sudoku.py
@ -57,8 +57,8 @@ def pp(c: Cell):
|
|||||||
|
|
||||||
Path = list[Link]
|
Path = list[Link]
|
||||||
|
|
||||||
def empty_grid() -> list[list[UninitializedCell]]:
|
def empty_grid() -> list[list[Cell]]:
|
||||||
return [ [ UninitializedCell() for _j in range(9)] for _i in range(9) ]
|
return [ [ EmptyCell(i,j) for j in range(9)] for i in range(9) ]
|
||||||
|
|
||||||
class Sudoku:
|
class Sudoku:
|
||||||
def __init__(self, grid):
|
def __init__(self, grid):
|
||||||
@ -91,8 +91,9 @@ class Sudoku:
|
|||||||
return
|
return
|
||||||
yield [ [ entry for entry in row ] for row in self.grid ]
|
yield [ [ entry for entry in row ] for row in self.grid ]
|
||||||
|
|
||||||
def read_grid() -> list[list[Cell]]:
|
@classmethod
|
||||||
grid : list[list[Union[Cell,UninitializedCell]]] = empty_grid()
|
def read_grid(cls) -> list[list[Cell]]:
|
||||||
|
grid : list[list[Cell]] = empty_grid()
|
||||||
for i in range(9):
|
for i in range(9):
|
||||||
row = input()
|
row = input()
|
||||||
for j in range(9):
|
for j in range(9):
|
||||||
@ -122,8 +123,8 @@ def gen_links(grid) -> Iterator[Link]:
|
|||||||
yield Link(c1, c2)
|
yield Link(c1, c2)
|
||||||
|
|
||||||
|
|
||||||
printable = [ " ".join(list(map(pp, row))) for row in solution ]
|
printable_solution = [ " ".join(list(map(pp, row))) for row in solution ]
|
||||||
print("\n".join(printable))
|
print("\n".join(printable_solution))
|
||||||
|
|
||||||
# build implicit graph
|
# build implicit graph
|
||||||
links = [link for link in gen_links(solution)]
|
links = [link for link in gen_links(solution)]
|
||||||
@ -142,7 +143,6 @@ def neighbors(board: list[list[FilledCell]], cell: Cell) -> Iterator[FilledCell]
|
|||||||
yield board[x][y]
|
yield board[x][y]
|
||||||
|
|
||||||
def all_cells_of_value(board: list[list[FilledCell]], filter: int) -> Iterator[FilledCell]:
|
def all_cells_of_value(board: list[list[FilledCell]], filter: int) -> Iterator[FilledCell]:
|
||||||
#fields = [ field for row in board for field in row ]
|
|
||||||
fields = all_cells(board)
|
fields = all_cells(board)
|
||||||
for field in [ f for f in fields if f.value == filter ]:
|
for field in [ f for f in fields if f.value == filter ]:
|
||||||
yield field
|
yield field
|
||||||
@ -150,7 +150,6 @@ def all_cells_of_value(board: list[list[FilledCell]], filter: int) -> Iterator[F
|
|||||||
def all_cells(board: list[list[FilledCell]]) -> Iterator[FilledCell]:
|
def all_cells(board: list[list[FilledCell]]) -> Iterator[FilledCell]:
|
||||||
yield from [ field for row in board for field in row ]
|
yield from [ field for row in board for field in row ]
|
||||||
|
|
||||||
# print path
|
|
||||||
def pP(path: Path) -> str:
|
def pP(path: Path) -> str:
|
||||||
return " ".join(list(map(lambda link: str(link.to.value), path)))
|
return " ".join(list(map(lambda link: str(link.to.value), path)))
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user