创建一个新的数独游戏

Creating a new sudoku puzzle

我有一个已解决的数独板,我正在尝试用 0 随机替换一些元素来制作一个新的谜题。我该怎么做?

board = [[2, 1, 3, 4], 
         [3, 4, 1, 2], 
         [1, 2, 4, 3],  
         [4, 3, 2, 1]]

您可以使用random.sample 找到n 个随机坐标以从棋盘上移除。例如,以下将 5 个随机单元格设置为 0:

>>> import random
>>> empty_cells = random.sample([(i, j) for i in range(4) for j in range(4)], 5)
>>> for row, col in empty_cells:
...     board[row][col] = 0
... 
>>> board
[[2, 0, 3, 0], [3, 4, 0, 2], [1, 2, 0, 3], [4, 0, 2, 1]]