You are on page 1of 2

def solution_verifyrows(sudoku):

f=0
for i in range(0,4):
l=[1,2,3,4]
for j in range(0,4):
if(sudoku[i][j] in l):
l.remove(sudoku[i][j])
else:
f=1
break
if (f==0):
return 1
else:
return 0

def solution_verifycols(sudoku):
f=0
k=[[0 for col in range(4)] for row in range(4)]
for i in range(0,4):
for j in range(0,4):
k[j][i]=sudoku[i][j]
return solution_verifyrows(k)

def gridverify(sudoku):
s=[]
for i in range(0,4,2):
for j in range(0,4,2):
g= []
for k in range(i,2+i):
for l in range(j,2+j):
g.append(sudoku[k][l])

s.append(g)
return solution_verifyrows(s)

def validity(sudoku):
if(solution_verifyrows(sudoku) and solution_verifycols(sudoku) and gridverify(sudoku)):
print("The solution set is valid")
else:
print("The solution set is not valid")

sudoku_correct =[[1,2,3,4],
[3,4,2,1],
[2,1,4,3],
[4,3,1,2]]
for i in range(4):
for j in range(4):
print(sudoku_correct[i][j],end="")
print()

sudoku_incorrect =[[1,2,3,4],
[3,4,2,1],
[2,3,4,3],
[4,1,1,2]]
print()
for i in range(4):
for j in range(4):
print(sudoku_incorrect[i][j],end="")
print()
validity(sudoku_incorrect)
[[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1
,0,1,0],[1,0,1,0,1,0,1,0],[1,0,1,0,1,0,1,0]]

You might also like