Python-具有二维数组的If语句

时间:2018-09-23 14:05:35

标签: python arrays if-statement multidimensional-array

我正在尝试生成数独。我考虑过为此使用数组。这就是我创建数组的方式(忽略这些不是正确的数独数字的事实):

row_array = [[1, 99],[2],[3], [4], [5], [6], [7], [8], [9]]

工作正常。问题出在if语句上。如果我这样做:

print(row_array[0][1])

或:

r = 1
print(row_array[0][r])

获得“ 99”效果确实很好!但是,如果我在这样的if语句中使用此变量方法:

if y not in row_array[1] and y not in row_array[0][r]:
    row_array[1].append(y)

我收到以下错误

  

TypeError:类型为'int'的参数不可迭代

我让Sudoku工作了,但是花了很多代码,所以我想设置一个计数器,用它来替换行和列。我知道你们可能已经为数独有了更好的代码,但是我想教自己,并随着时间的推移使代码更好,更短。我不会仅仅通过复制别人的想法或编码方式来学习编码。

1 个答案:

答案 0 :(得分:1)

问题在这里:

if y not in row_array[0][r]

in运算符检查左侧是否按顺序排列或在右侧可迭代。但是type(row_array[0][r])将返回int,这是不可迭代的。