python numpy创建6×6的数独游戏
时间: 2024-09-26 09:18:31 浏览: 71
在Python中,我们可以使用NumPy库来创建一个6x6的数独游戏矩阵。由于传统的9x9数独需要填充1到9的数字,这里我们创建一个简化版的6x6数独,只包含数字1到6。以下是创建一个随机生成的6x6数独矩阵的基本步骤:
```python
import numpy as np
# 定义一个函数用于生成随机数独
def create_sudoku(size=6):
# 创建全0矩阵
grid = np.zeros((size, size), dtype=int)
# 避免行、列和宫格有重复数字
def is_valid(x, y, num):
for i in range(3):
if (grid[x+i:y+i+1, :].sum(axis=1) == num).any() or \
(grid[:, x+i:y+i+1].sum(axis=0) == num).any() or \
(grid[i::3, x:x+3].sum(axis=0) == num).any():
return False
return True
for i in range(size**2):
while True:
num = np.random.randint(1, size+1) # 选择1到大小之间的数字
if is_valid(i // size, i % size, num): # 检查是否满足条件
grid[i//size, i%size] = num
break
return grid
# 创建并打印6x6数独
sudoku_6x6 = create_sudoku()
print(sudoku_6x6)
```
阅读全文