Rev 408 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/usr/bin/env python
__author__ = "Ira W. Snyder (devel@irasnyder.com)"
__copyright__ = "Copyright (c) 2006, Ira W. Snyder (devel@irasnyder.com)"
__license__ = "GNU GPL v2 (or, at your option, any later version)"
import time
from PyCompat import *
from SudokuPuzzle import SudokuPuzzle, solve
from Menu import Menu
def input_puzzle (puzzle):
print 'Enter a row at a time. Use \'e\' for empty squares.'
for i in xrange(9):
e = raw_input('line %d: ' % i)
temp = e.split ()
count = 0
for j in temp:
try:
puzzle[i,count].set_value (int(j))
except:
pass
count += 1
def input_and_solve_puzzle ():
puzzle = SudokuPuzzle ()
# Input the Puzzle
input_puzzle (puzzle)
# Solve the Puzzle
tstart = time.time ()
solution = solve (puzzle)
tend = time.time ()
# Print the Solution
print '\nThe solution is:'
print str(solution)
print 'Took %s seconds to solve' % str(tend - tstart)
def main ():
m = Menu (autorun=True)
m.add_entry ('1', 'Enter & Solve Sudoku Puzzle', input_and_solve_puzzle)
m.add_entry ('2', 'Quit', sys.exit)
# Run the menu forever, until it auto-exits
while True:
m.run_menu ()
if __name__ == '__main__':
main ()