Fix behaviour of checking lower bound of givens

master
En Yi 2018-07-12 16:47:50 +08:00
parent 4a20d444ea
commit 528b67a0b4
1 changed files with 5 additions and 3 deletions

View File

@ -169,8 +169,10 @@ def generate_sudoku_grid(difficulty):
except StopIteration: except StopIteration:
print("Reach end of Sequence") print("Reach end of Sequence")
break break
row = int(i / 9) row = int(i / 9) * 9
if check_for_nonzeros(grid[row:row+9]) > lower_bound: col = i % 9
if check_for_nonzeros(grid[row:row+9]) > lower_bound and\
check_for_nonzeros(grid[col::9]) > lower_bound:
current_number = grid[i] current_number = grid[i]
other_numbers = solver.digits.replace(current_number, '') other_numbers = solver.digits.replace(current_number, '')
unique = True unique = True
@ -194,5 +196,5 @@ def generate_sudoku_puzzle(difficulty):
return sudoku_array return sudoku_array
if __name__ == "__main__": if __name__ == "__main__":
a = generate_sudoku_puzzle(4) a = generate_sudoku_puzzle(3)
print(a) print(a)