Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何返回错误和有问题的行(python数独检查器)_Python_Python 3.x_Sudoku - Fatal编程技术网

如何返回错误和有问题的行(python数独检查器)

如何返回错误和有问题的行(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

在def checkit函数中返回False和append number时出现问题。我不确定是否对checkrow函数进行了错误编码。当给出一个正确解决的数独难题时,它能够返回true,但当我们调用一个错误的数独难题时,它将返回False,并提供有问题的行。目前,它只返回有问题的行,也就是使谜题失败的位置,但不包括false。有没有关于如何使它同时返回两者的想法

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抱歉,我不是故意要当忍者。要我删除我的答案吗?