-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.py
44 lines (35 loc) · 1.31 KB
/
functions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import numpy as np
N = 9
def check_if_in_row(sudoku, row, num):
for col in range(N):
if sudoku[row][col] == num:
return True
return False
def check_if_in_col(sudoku, col, num):
for row in range(N):
if sudoku[row][col] == num:
return True
return False
def check_if_in_box(sudoku, start_row, start_col, num):
box_start_row = start_row - start_row % 3
box_start_col = start_col - start_col % 3
for row in range(3):
for col in range(3):
if sudoku[row + box_start_row][col + box_start_col] == num:
return True
return False
def check_if_valid(sudoku, row, col, num):
return not check_if_in_row(sudoku, row, num) and not check_if_in_col(sudoku, col, num) and not check_if_in_box(sudoku, row, col, num)
def draw_sudoku(sudoku):
print("- - - - - - - - - - - - ")
for row in range(len(sudoku)):
if row % 3 == 0 and row != 0:
print("- - - - - - - - - - - - ")
for col in range(len(sudoku[0])):
if col % 3 == 0 and col != 0:
print(" | ", end="")
if col == 8:
print(sudoku[row][col])
else:
print(str(sudoku[row][col]) + " ", end="")
print("- - - - - - - - - - - - ")