Python sudoku programming

Posted by trevor on Stack Overflow See other posts from Stack Overflow or by trevor
Published on 2009-11-19T18:31:29Z Indexed on 2010/03/31 2:53 UTC
Read the original article Hit count: 467

Filed under:
|
|

I need your help on this. I have this program and I must finish it. It's missing 3 parts.

Here is the program I'm working with:

import copy

def display(A):
    if A:
        for i in range(9):
            for j in range(9):
                if type(A[i][j]) == type([]): print A[i][j][0],
                else: print A[i][j],
            print
        print
    else: print A

def has_conflict(A):
    for i in range(9):
        for j in range(9):
            for (x,y) in get_neighbors(i,j):
                if len(A[i][j])==1 and A[i][j]==A[x][y]: return True
    return False

# HERE ARE THE PARTS THAT REQUIRE HELP!!!!
def get_neighbors(x,y):
    return []
def update(A, i, j, value):
    return []
def solve(A):
    return []
# ENDS PARTS THAT REQUIRE HELP!!!!          


A = []
infile = open('puzzle1.txt', 'r')

for i in range(9):
    A += [[]] 
    for j in range(9):
        num = int(infile.read(2))
        if num: A[i] += [[num]]
        else: A[i] += [[1,2,3,4,5,6,7,8,9]]

for i in range(9):
    for j in range(9):
        if len(A[i][j])==1: A = update(A, i,j, A[i][j][0])
        if A==[]: break
    if A==[]: break

if A<>[]: A = solve(A)
display(A)

I need to solve the stuff formerly in bold letters, now explicitly marked in the code, specifically

- get_neighbors():
- update():
- solve():

Thank you for your time and help.

© Stack Overflow or respective owner

Related posts about homework

Related posts about python