我在这里看了几个类似的问题,但都没有解决我的问题,而且,我也不是100%确定我的问题是什么。你知道吗
无论如何,我尝试在python中生成一个列表,其中包含9个列表,每个列表有9个元素。因为这个列表是为数独生成器准备的,所以列表需要符合数独游戏的规则。 我试着这么做:
def generateBord (mtx) :
while (len(mtx) < 9) and (len(mtx) != 9):
newrow = generateRow(mtx)
mtx.append(newrow)
return mtx
def generateRow (mtx):
counter = 0
row = []
while counter < 9:
num = random.randint(1,9)
idx = len(row)
if (not(num in row)):
for x in mtx:
if (num != x[idx]):
row.append(num)
counter += 1
if (len(row) == 9):
return row
当我尝试运行代码时,它永远不会终止,所以我认为问题是某个地方的无限循环。通过反复试验,我把问题缩小到了这一点:
for x in mtx:
if (num != x[idx]):
row.append(num)
counter += 1
不过,我不太清楚到底是什么问题。在调用函数generateBord(mtx)时,我给出
mtx = []
作为论据。 我希望这不是太含糊。这里到底有什么问题,我该怎么解决?或者我的方法根本不可行?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐