hello,
I am writing an algorithm that solves a 2 by 2 Sudoku puzzle. I haven't fully competed it yet and my code is very messy and complicated. I wondered if anyone can help sort my code out. You help will be much appreciated.
thanks!
import random
gridOne = [1,0,4,0]
gridTwo = [0,3,0,0]
gridThree = [0,2,0,1]
gridFour = [4,1,0,0]
for i in gridOne:
while == (0):
== random.randint (1,4) # change 0 with a random (1,4) number
while == :
== random.randint (1,4)
for i in gridTwo:
while == (0):
== random.randint (1,4)
while == :
== random.randint (1,4)
for i in gridThree:
while == (0):
== random.randint (1,4)
while == :
== random.randint (1,4)
for i in gridFour:
while == (0):
== random.randint (1,4)
while == :
== random.randint (1,4)
for i in range (1,4):
while [0] or [1] in (gridOne) == [0] or [1] in (gridTwo): # if top row in grid 1 and 2 has a repeated number
[1] in (gridOne) == random.randint (1,4) # change the duplicated number
[0] in (gridTwo) == random.randint (1,4)
while [0,1] in (gridOne) and [0,1] in (gridTwo) != (1,4): # if row isn't 1-4 then change the numbers that aren't fixed
[1] in (gridOne) == random.randint (1,4)
[0] in (gridTwo) == random.randint (1,4)
while [2] or [3] in (gridOne) == [2] or [3] in (gridTwo): # if bottom row in grid 1 and 2 has a repeated number
[3] in (gridOne) == random.randint (1,4) # change the duplicated number
[2] in (gridTwo) == random.randint (1,4)
[3] in (gridTwo) == random.randint (1,4)
while [2,3] in (gridOne) and [2,3] in (gridTwo) != (1,4): # if row isn't 1-4 then change the numbers that aren't fixed
[3] in (gridOne) == random.randint (1,4)
[2] in (gridTwo) == random.randint (1,4)
[3] in (gridTwo) == random.randint (1,4)
while [0] or [1] in (gridThree) == [0] or [1] in (gridFour): # if top row in grid 3 and 4 has a repeated number
[0] in (gridThree) == random.randint (1,4) # change the duplicated number
while [0,1] in (gridOne) and [0,1] in (gridTwo) != (1,4): # if row isn't 1-4 then change the numbers that aren't fixed
[0] in (gridThree) == random.randint (1,4)
while [2] or [3] in (gridThree) == [2] or [3] in (gridFour): # if bottom row in grid 3 and 4 has a repeated number
[2] in (gridThree) == random.randint (1,4) # change the duplicated number
[2] in (gridFour) == random.randint (1,4)
[3] in (gridFour) == random.randint (1,4)
while [2,3] in (gridThree) and [2,3] in (gridFour) != (1,4): # if row isn't 1-4 then change the numbers that aren't fixed
[2] in (gridThree) == random.randint (1,4)
[2] in (gridFour) == random.randint (1,4)
[3] in (gridFour) == random.randint (1,4)
while [0] or [2] in (gridOne) == [0] or [2] in (gridThree): # if first column has a repeated number
[0] in (gridThree) == random.randint (1,4) # change the duplicated number
[2] in (gridThree) == random.randint (1,4)
while [0,2] in (gridOne) and [0,2] in (gridThree) != (1,4): # if column isn't 1-4 then change the numbers that aren't fixed
[0] in (gridThree) == random.randint (1,4)
[2] in (gridThree) == random.randint (1,4)
while [1] or [3] in (gridOne) == [1] or [3] in (gridThree): # if second column has a repeated number
[1] in (gridOne) == random.randint (1,4) # change the duplicated number
[3] in (gridOne) == random.randint (1,4)
while [1,3] in (gridOne) and [1,3] in (gridThree) != (1,4): # if column isn't 1-4 then change the numbers that aren't fixed
[1] in (gridOne) == random.randint (1,4)
[3] in (gridOne) == random.randint (1,4)
while [0] or [2] in (gridTwo) == [0] or [2] in (gridFour): # if third column has a repeated number
[0] in (gridtwo) == random.randint (1,4) # change the duplicated number
[2] in (gridTwo) == random.randint (1,4)
[2] in (gridFour) == random.randint (1,4)
while [0,2] in (gridTwo) and [0,2] in (gridFour) != (1,4): # if column isn't 1-4 then change the numbers that aren't fixed
[0] in (gridtwo) == random.randint (1,4)
[2] in (gridTwo) == random.randint (1,4)
[2] in (gridFour) == random.randint (1,4)
while [1] or [3] in (gridTwo) == [1] or [3] in (gridFour): # if fourth column has a repeated number
[3] in (gridTwo) = random.randint (1,4) # change the duplicated number
[3] in (gridFour) = random.randint (1,4)
while [1,3] in (gridTwo) and [1,3] in (gridFour) != (1,4): # if column isn't 1-4 then change the numbers that aren't fixed
[3] in (gridTwo) = random.randint (1,4)
[3] in (gridFour) = random.randint (1,4)