2014-01-27 25 views
0

我目前正在编写一个大数独求解算法,而且我遇到了一个奇怪的问题......在我的代码深处,我有这个'if'语句来检查给定变量的类型。如果它是一个列表,我希望它输入if语句。在数独求解算法中遇到类型()的问题

当我有这样的代码:

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

它不会进入声明(我有一个打印(),使我确信...... 但与此:

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

它确实输入了代码......'可能性'是程序中早些时候指定的另一个变量,总是一个列表 我还在'if-statement'之前有了print()语句来告诉我当前类型的细胞,与:

print(type(cell)) 

和一些印刷,符合市场预期, “<类 ”清单“>”

的问题是什么呢?如果您认为有必要,我可以在此处添加更多代码。我只是觉得最好不要因为它真的很大。

回答

2

您修复作为

if type(cell) == list: 
更好

if isinstance(cell, list): 

后者的作品

即使细胞是一些派生型。

1

if type(cell) == list:

通知,围绕列表中没有报价。 list是一个引用列表类型的内置变量。

+0

谢谢;)由于它打印它像“列表”,我认为它应该采取... ... – RGS