← 返回题库
中级

Sudoku Grid

未完成
中级参考 代码结构已给出,请填写 ____ 处
# Write your solution here
def solve(____):
    for row in range(____, ____):
        if not row_correct(____):
            return False
    
    for column in range(____, ____):
        if not column_correct(____):
            return False
        
    for row in range(____, ____, ____):
        for column in range(____, ____, ____):
            if not block_correct(____):
                return False
            
    return True
        



def row_correct(____):
    seen_numbers = []
    for number in sudoku[row_no]:
        if number != ____:
            if number in seen_numbers:
                return False
            seen_numbers.append(____)

    return True

def column_correct(____):
    seen_numbers = []
    for row in sudoku:
        number = row[column_no]
        if number != ____:
            if number in seen_numbers:
                return False
            seen_numbers.append(____)

    return True

def block_correct(____):
    seen_numbers = []
    for i in range(____):
        for j in range(____):
            number = sudoku[i][j]
            if number != ____:
                if number in seen_numbers:
                    return False
                seen_numbers.append(____)
    return True

if __name__ == "____":
    sudoku1 = [
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____]
    ]

    print(solve(____))

    sudoku2 = [
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____],
    [____, ____, ____, ____, ____, ____, ____, ____, ____]
    ]

    print(solve(____))

示例

输入
print(solve(sudoku1)); print(solve(sudoku2))
期望输出
False
True
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码