Note that there are some explanatory texts on larger screens.

plurals
  1. POPython sudoku puzzle solver doesn't display puzzle correctly
    primarykey
    data
    text
    <p>I was trying to write up a Sudoku puzzle solver, and so far, I'm stuck on trying to get it to display the puzzle. Here is my code so far:</p> <pre><code>class Cell: '''A cell for the soduku game.''' def __init__(self): #This is our constructor self.__done = False #We are not finished at the start self.__answer = (1,2,3,4,5,6,7,8,9) #Here is the tuple containing all of our possibilities self.__setnum = 8 #This will be used later when we set the number. def __str__(self): '''This formats what the cell returns.''' answer = 'This cell can be: ' answer += str(self.__answer) #This pulls our answer from our tuple return answer def get_possible(self): '''This tells us what our possibilities exist.''' answer = () return self.__answer def is_done(self): '''Does a simple check on a variable to determine if we are done.''' return self.__done def remove(self, number): '''Removes a possibility from the possibility tuple.''' if number == 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9: #Checks if we have a valid answer temp = list(self.__answer) #Here is the secret: We change the tuple to a list, which we can easily modify, and than turn it back. temp.remove(number) self.__answer = tuple(temp) def set_number(self, number): '''Removes all but one possibility from the possibility tuple. Also sets "__done" to true.''' answer = 8 for num in self.__answer: if num == number: answer = number #Checks if the number is in the tuple, and than sets that value as the tuple, which becomes an integer. self.__answer = answer self.__done = True return self.__answer </code></pre> <p>That is for the cells, and here is the code for the grid:</p> <pre><code>class Grid: '''The grid for the soduku game.''' def __init__(self, puzzle): '''Constructs the soduku puzzle from the file.''' self.__file = open(puzzle) self.__puzzle = '' self.__template = ' | | \n | | \n | | \n | | \n | | \n | | \n | | \n | | \n | | \n' for char in self.__file: if char == '.': self.__puzzle += ' ' else: self.__puzzle += char count = 0 self.__template_list = list(self.__template) for char in self.__puzzle: if char != '|': if char == '.' or ' ': self.__template_list[count] = ' ' else: self.__template_list[count] = char self.__answer = '' for char in self.__template_list: self.__answer += char self.__file.close() def __str__(self): '''Prints the soduku puzzle nicely.''' return self.__answer </code></pre> <p>When I try to print it, I get two vertical lines of pipes (|). Can someone tell me what I am doing wrong?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload