algorithm - 数独求解器算法中的 type() 有问题

标签 algorithm python-3.x sudoku

我目前正在编写一个大型数独求解器算法,我遇到了一个奇怪的问题......在我的代码深处的某个地方,我有这个“if”语句来检查给定变量的类型。如果它是一个列表,我希望它进入 if 语句。

当我有这样的代码时:

if type(cell) == "list":
    # some code...

它不会输入语句(我有一个 print() 可以确保这一点...... 但是有了这个:

if type(cell) == type(possibilities):
    # some code...

它确实输入了代码...“可能性”是程序中较早分配的另一个变量,它始终是一个列表。 我还在“if 语句”之前有 print() 语句来告诉我单元格的当前类型,其中:

print(type(cell))

和一些打印出来的,正如预期的那样,“< class “list” >”

那问题是什么?如果您认为需要,我可能会在此处放置更多代码。我只是觉得最好不要,因为它真的很大。

最佳答案

你把它改成

if type(cell) == list:

更好的

if isinstance( cell, list ):

即使单元格是某种派生类型,后者也能正常工作。

关于algorithm - 数独求解器算法中的 type() 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21390534/

相关文章:

python - 如何在OpenCV中检测数独网格板

java - 如何在 6x6 数独中检查 3x2 矩形框;

algorithm - 找到多组数字之间交集的最有效方法

algorithm - 家务调度算法

algorithm - TensorFlow:它只有 SGD 算法吗?或者它是否也有其他像 LBFGS

algorithm - 连续相交两组区间

python - 如何创建除一组给定值之外的随机序列

python-3.x - 应用自定义函数从字符串中提取数字到 Python 中的多列

python-3.x - 将 NaN 文本列分离到其他数据框中

prolog 数独求解器耗尽全局堆栈