如何返回错误和有问题的行(python数独检查器)
在def checkit函数中返回False和append number时出现问题。我不确定是否对checkrow函数进行了错误编码。当给出一个正确解决的数独难题时,它能够返回true,但当我们调用一个错误的数独难题时,它将返回False,并提供有问题的行。目前,它只返回有问题的行,也就是使谜题失败的位置,但不包括false。有没有关于如何使它同时返回两者的想法如何返回错误和有问题的行(python数独检查器),python,python-3.x,sudoku,Python,Python 3.x,Sudoku,在def checkit函数中返回False和append number时出现问题。我不确定是否对checkrow函数进行了错误编码。当给出一个正确解决的数独难题时,它能够返回true,但当我们调用一个错误的数独难题时,它将返回False,并提供有问题的行。目前,它只返回有问题的行,也就是使谜题失败的位置,但不包括false。有没有关于如何使它同时返回两者的想法 import sys from scanner import * def createList(size): if size
import sys
from scanner import *
def createList(size):
if size == 0: return []
else:
return [0] + createList(size -1)
def printGrid(gridlist):
for row in gridlist:
print (str(row)+"\n")
def rows(g):
return len(g)
def cols(g):
return len(g[0])
def printMatrix(g):
for i in range(0,rows(g),1):
for j in range(0,cols(g),1):
print(g[i][j],end=' ')
print('')
print('')
def readinput(filename,grid):
s = Scanner(filename)
r = s.readtoken()
while r != "":
r = int(r)
c = s.readint()
v = s.readint()
grid[r][c]=v
r = s.readtoken()
def checkRows(g):
for rows in g:
numbersInRow = []
for number in rows:
if number != 0 and number in numbersInRow:
return g.index(rows)
else:
numbersInRow.append(number)
return True
def checkIt(g):
checkRows(g)
rowSuccess = checkRows(g)
print(rowSuccess)
def main():
grid = createList(9)
for i in range(9):
grid[i] = createList(9)
readinput(sys.argv[1],grid)
printMatrix(grid)
checkIt(grid)
main()
您可以同时返回它们:
def checkRows(g):
for rows in g:
numbersInRow = []
for number in rows:
if number != 0 and number in numbersInRow:
return g.index(rows), False
else:
numbersInRow.append(number)
要阅读它:
problematic_row, result = checkRows(g)
return False,g.index(rows)
将返回两个值作为一个元组。返回一个元组怎么样return False,g.index(rows)
?@RubenBermudez抱歉,我不是故意要当忍者。要我删除我的答案吗?