Python数独求解器如何在棋盘无解时输出提示并退出程序
数独求解器无解判断修改方案
你的现有代码中solve函数本身已经内置了返回值规则:数独有解可完成填充时返回True,遍历所有合法取值都无法完成数独填充时返回False,因此无需修改solve函数的实现,仅需要调整主运行段的逻辑,捕获solve函数的返回值做分支处理即可。
修改后的主运行代码如下:
print_board(board) print("") print("Let's solve it!") print("") # 接收solve函数的执行结果 solved_flag = solve(board) if not solved_flag: print("This board is impossible") # 直接终止程序运行 exit() # 仅在有解时输出求解后的棋盘 print("Your solved board is") print("") print_board(board)
补充说明
如果这段运行逻辑是封装在函数内部的,也可以将exit()替换为return结束函数执行;如果不需要强制终止程序,也可以将后续输出解棋盘的逻辑放在else分支下,效果一致。
内容的提问来源于stack exchange,提问作者KyleTalksAlot
相关产品推荐
相关产品推荐

