2014-03-13 5 views
0

아마도 내가 쓰고있는 스도쿠 해결사에 대한 다른 질문을 이미 보았을 것입니다. 지금은 그가 할 수있는 일에 행복합니다. 하지만 그것을 실행할 때 스도쿠처럼 보이지 않습니다. 내가 더 스도쿠처럼 보이게하기 위해 노력하고있어하지만이보다 더 올 수 아니에요 :Python sudoku solver nice lay-out

def print_sudoku(array): 
    for i in range(0,9): 
     print() 
     for j in range(0,9): 
      print(array[i][j][0],end=' ') 

import pprint 
distance = [[[0 for k in range(10)] for j in range(9)] for i in range(9)] 

distance[0][0][0] = '*' 
distance[0][1][0] = 2 
distance[0][2][0] = 9 
distance[0][3][0] = 4 
distance[0][4][0] = 8 
distance[0][5][0] = 6 
distance[0][6][0] = '*' 
distance[0][7][0] = 1 
distance[0][8][0] = 3 
distance[1][0][0] = 1 
distance[1][1][0] = 3 
distance[1][2][0] = '*' 
distance[1][3][0] = 7 
distance[1][4][0] = 9 
distance[1][5][0] = '*' 
distance[1][6][0] = 4 
distance[1][7][0] = 6 
distance[1][8][0] = '*' 
distance[2][0][0] = '*' 
distance[2][1][0] = 6 
distance[2][2][0] = 4 
distance[2][3][0] = '*' 
distance[2][4][0] = 3 
distance[2][5][0] = 1 
distance[2][6][0] = 7 
distance[2][7][0] = 9 
distance[2][8][0] = 2 
distance[3][0][0] = 3 
distance[3][1][0] = 9 
distance[3][2][0] = 1 
distance[3][3][0] = 6 
distance[3][4][0] = 4 
distance[3][5][0] = 7 
distance[3][6][0] = 2 
distance[3][7][0] = '*' 
distance[3][8][0] = 5 
distance[4][0][0] = 4 
distance[4][1][0] = 5 
distance[4][2][0] = '*' 
distance[4][3][0] = 2 
distance[4][4][0] = 1 
distance[4][5][0] = 3 
distance[4][6][0] = '*' 
distance[4][7][0] = 7 
distance[4][8][0] = 6 
distance[5][0][0] = '*' 
distance[5][1][0] = 7 
distance[5][2][0] = 2 
distance[5][3][0] = 9 
distance[5][4][0] = '*' 
distance[5][5][0] = 8 
distance[5][6][0] = '*' 
distance[5][7][0] = 4 
distance[5][8][0] = 1 
distance[6][0][0] = 9 
distance[6][1][0] = '*' 
distance[6][2][0] = 7 
distance[6][3][0] = 8 
distance[6][4][0] = 2 
distance[6][5][0] = '*' 
distance[6][6][0] = 6 
distance[6][7][0] = 3 
distance[6][8][0] = '*' 
distance[7][0][0] = 5 
distance[7][1][0] = 8 
distance[7][2][0] = 6 
distance[7][3][0] = '*' 
distance[7][4][0] = 7 
distance[7][5][0] = 4 
distance[7][6][0] = 1 
distance[7][7][0] = 2 
distance[7][8][0] = 9 
distance[8][0][0] = 2 
distance[8][1][0] = 4 
distance[8][2][0] = 3 
distance[8][3][0] = 1 
distance[8][4][0] = 6 
distance[8][5][0] = '*' 
distance[8][6][0] = 8 
distance[8][7][0] = 5 
distance[8][8][0] = 7 

print_sudoku(distance) 

유일한 :

* 2 9 4 8 6 * 1 3 
1 3 * 7 9 * 4 6 * 
* 6 4 * 3 1 7 9 2 
3 9 1 6 4 7 2 * 5 
4 5 * 2 1 3 * 7 6 
* 7 2 9 * 8 * 4 1 
9 * 7 8 2 * 6 3 * 
5 8 6 * 7 4 1 2 9 
2 4 3 1 6 * 8 5 7 

이이 답을 생성하는 코드는 내가 원하는 것은 그것이 더 스도쿠 같은 감사를 보이는 것을 이미 루디

+2

무엇을 의미합니까? 그룹을 분리하기 위해'| '또는'_'를 인쇄 할 수 있습니다. 3x3 –

+0

예, 파란색 또는 다른 색상으로 이미 채워진 숫자. 그와 같은 것 – Rudy

+0

'|'과'_'는 새로운 열과 행을 추가하여 인쇄 할 수 있지만 색상은 내가 상상할 수 없습니다. –

답변

1
def print_sudoku(array): 
    for i in range(10): 
     print() 
     if i%3 == 0: 
      print("-" * 19) 
      if i == 9: 
       break 
     print ("|", end='') 
     for j in range(9): 
      print(array[i][j][0], end=' ' if j % 3 != 2 else '|') 

당신이 색상을 원하는 경우에 당신이 어떤 종류를 지정해야합니다입니다 당신이

+0

감사! 터미널이란 무엇을 의미합니까? 나는 휴대용 파이썬, 버전 3을 가지고 일하고있다. – Rudy

+0

터미널은 출력을 보는 데 사용하는 프로그램이다. 예 : cmd.exe 일 수 있습니다. –

0

을 사용하는 터미널이는 다음과 같아야이

Sudoku = [[0,2,9,4,8,6,0,1,3], 
      [1,3,0,7,9,0,4,6,0], 
      [0,6,4,0,3,1,7,9,2], 
      [3,9,1,6,4,7,2,0,5], 
      [4,5,0,2,1,3,0,7,6], 
      [0,7,2,9,0,8,0,4,1], 
      [9,0,7,8,2,0,6,3,0], 
      [5,8,6,0,7,4,1,2,9], 
      [2,4,3,1,6,0,8,5,7]] 

같은 당신이 배열 안에 배열 같은 스도쿠를 포맷하면 스도쿠를

def PrintSudoku(board): 
    y = 0 
    for n in board: 
     x = 0 
     while x != 3: 
      print n[x], 
      x += 1 
     print "|", 
     while x != 6: 
      print n[x], 
      x += 1 
     print "|", 
     while x != 9: 
      print n[x], 
      x += 1 
     print "" 
     y = y + 1 
     if y == 3 or y == 6: 
      print "------|-------|------" 

를 인쇄하는 데 사용하는 기능이며,

0 2 9 | 4 8 6 | 0 1 3 
1 3 0 | 7 9 0 | 4 6 0 
0 6 4 | 0 3 1 | 7 9 2 
------|-------|------ 
3 9 1 | 6 4 7 | 2 0 5 
4 5 0 | 2 1 3 | 0 7 6 
0 7 2 | 9 0 8 | 0 4 1 
------|-------|------ 
9 0 7 | 8 2 0 | 6 3 0 
5 8 6 | 0 7 4 | 1 2 9 
2 4 3 | 1 6 0 | 8 5 7