以下是一个简单的数独游戏示例代码:
import random
# 数独棋盘大小
SIZE = 9
# 生成一个初始的数独棋盘
def generate_sudoku():
sudoku = [[0 for _ in range(SIZE)] for _ in range(SIZE)]
# 先随机填充一些数字
for _ in range(20):
row = random.randint(0, SIZE - 1)
col = random.randint(0, SIZE - 1)
num = random.randint(1, SIZE)
if is_valid(sudoku, row, col, num):
sudoku[row][col] = num
return sudoku
# 检查在指定位置放置数字是否合法
def is_valid(sudoku, row, col, num):
# 检查行
for i in range(SIZE):
if sudoku[row][i] == num:
return False
# 检查列
for i in range(SIZE):
if sudoku[i][col] == num:
return False
# 检查 3x3 子区域
start_row = row // 3 * 3
start_col = col // 3 * 3
for i in range(3):
for j in range(3):
if sudoku[start_row + i][start_col + j] == num:
return False
return True
# 打印数独棋盘
def print_sudoku(sudoku):
for row in sudoku:
for num in row:
print(num, end=" ")
print()
# 测试
sudoku = generate_sudoku()
print_sudoku(sudoku)
代码解释:
• generate_sudoku 函数用于生成一个初始的数独棋盘,通过随机填充一些数字。
• is_valid 函数检查在特定位置放置一个数字是否合法,包括行、列和 3x3 子区域的检查。
• print_sudoku 函数用于打印数独棋盘。
这只是一个非常基础的数独实现,实际的数独游戏可能会有更多的功能和交互。你可以根据需要进一步扩展和完善它。