return False else: continue for r in range(len(bd)): if ok_to_add(r, 0, bd[r][column], bd): for c in range(len(bd)): if ok_to_add(r, c, bd[r][column], bd): continue else: return False return True boardname = raw_input('Enter a file name => ') bd = lab06_util.read_sudoku(boardname) print sudokuboard(bd) row = int(raw_input('Enter a row => ')) column = int(raw_input('Enter a column => ')) addnum = raw_input('Enter a number to add => ') print if ok_to_add(row, column, addnum, bd) == False: print "This number cannot be added" elif ok_to_add(row, column, addnum, bd) == True: bd[row][column] = addnum print sudokuboard(bd) else:
import lab06_util fname = raw_input("Print enter a file name ==> ") board = lab06_util.read_sudoku(fname)
#Checks bottom middle 3x3 elif (column in [3, 4, 5] and y in [3, 4, 5]): if (number == bd[x][y]): return False #Checks bottom right 3x3 elif (column in [6, 7, 8] and y in [6, 7, 8]): if (number == bd[x][y]): return False return True #Main code board_file = input('Enter board file: ') bd = lab06_util.read_sudoku(board_file) complete = False while complete == False: print_board() if verify_board() == True: x1 = int(input('Enter a row from 0 to 8 ==> ')) y1 = int(input('Enter a column from 0 to 8 => ')) numb = int(input('Enter the number from 1 to 9 => ')) if ok_to_add(x1, y1, numb): bd[x1][y1] = str(numb) else: print("Invalid Input") else:
from lab06_util import read_sudoku filename = input("File name: ") nl = read_sudoku(filename).copy() for n in range(len(nl)): nl[n] = read_sudoku(filename)[n].copy() for number in range(0, len(nl[n]), 4): nl[n].insert(number, '|') nl[n] = ' '.join(nl[n]) nl[n] = str(nl[n]) + ' ' + '|' if n == 0: print('-' * (len(nl[n]))) print(nl[n]) if (n + 1) % 3 == 0: print('-' * (len(nl[n]))) def ok_to_add(board): bd = board.copy() row = 0 column = 0 while row < len(bd) and column < len(bd): for n in bd[row]: if bd[row].count(n) > 1: return False column_list = [] for n in bd: column_list.append(n[column]) if column_list.count(n) > 1:
def verify_board(bd): error = 0 for i in range(9): for j in range(9): if bd[i][j].isdigit() == False: error += 1 if ok_to_add(bd[i][j], i, j, bd) == False: error += 1 if error != 0: return False elif error == 0: return True filename = raw_input('Please Enter a file name ==> ') bd = lab06_util.read_sudoku(filename) while verify_board(bd) == False: print_bd(bd) raw = int(raw_input('Enter raw ==> ')) - 1 colum = int(raw_input('Enter colum ==> ')) - 1 number = int(raw_input('Enter a number ==>')) if ok_to_add(number, raw, colum, bd) == True and has_number( raw, colum, bd) == False: bd[raw][colum] = str(number) print_bd(bd) else: print 'This number cannot be added' print_bd(bd) print 'Completed!'
import lab06_util bd = lab06_util.read_sudoku("solved.txt") print bd def okay_to_add(row,column,num): error = 0 #check row i = 0 for x in bd[row]: if i == column: i += 1 continue else: i += 1 if x == str(num): error += 1 #check column for x in range(9): if x == row: continue else: if bd[x][column] == str(num): error += 1 #check box if row <= 2 and column <= 2: n = 0 for x in bd[:3]: i = 0 for y in x[:3]:
if v[x] == z: return False for v in range(9): if data[v][y] == z: return False x1 = 3 * (x // 3) y1 = 3 * (y // 3) for i in range(3): for j in range(3): if data[j + x1][i + y1] == v: return False return True file = input('Input file =>') bd = lab06_util.read_sudoku(file) correct = lab06_util.read_sudoku('solved.txt') print(25 * '-', sep='', end='') w = 0 for i in range(9): z = 0 if w == 3: print('\n', 25 * '-', sep='', end='') w = 0 print('\n| ', end='') for y in range(9): if z == 3: print('| ', end="") z = 0 print(bd[i][y], sep="", end=" ")
c += 1 continue elif y == str(num): c += 1 error += 1 else: c += 1 r += 1 #all okay? if error > 0: print "This number cannot be added." else: bd[row][column] = num ############### ## Main Code ## ############### import lab06_util bd = lab06_util.read_sudoku(raw_input('file name? ==> ')) print bd while verify_board(bd) == False: print_board(bd) row = int(raw_input("Row ==> ")) column = int(raw_input("Column ==> ")) num = int(raw_input("Number ==> ")) okay_to_add(row,column,num)