如何使用python和tkinter创建9*9数独生成器?如何将其生成到gui?
我尝试了这些:
import random
numbers = [1,2,3,4,5,6,7,8,9]
def reg():
def makeBoard():
board = None
while board is None:
board = attemptBoard()
return board
def attemptBoard():
board = [[None for _ in range(9)] for _ in range(9)]
for i in range(9):
for j in range(9):
checking = numbers[:]
random.shuffle(checking)
x = -1
loopStart = 0
while board[i][j] is None:
x += 1
if x == 9:
return None
checkMe = [checking[x],True]
if checkMe in board[i]:
continue
checkis = False
for checkRow in board:
if checkRow[j] == checkMe:
checkis = True
if checkis: continue
if i % 3 == 1:
if j % 3 == 0 and checkMe in (board[i-1][j+1],board[i-1][j+2]): continue
elif j % 3 == 1 and checkMe in (board[i-1][j-1],board[i-1][j+1]): continue
elif j % 3 == 2 and checkMe in (board[i-1][j-1],board[i-1][j-2]): continue
elif i % 3 == 2:
if j % 3 == 0 and checkMe in (board[i-1][j+1],board[i-1][j+2],board[i-2][j+1],board[i-2][j+2]): continue
elif j % 3 == 1 and checkMe in (board[i-1][j-1],board[i-1][j+1],board[i-2][j-1],board[i-2][j+1]): continue
elif j % 3 == 2 and checkMe in (board[i-1][j-1],board[i-1][j-2],board[i-2][j-1],board[i-2][j-2]): continue
board[i][j] = checkMe
return board
a=makeBoard()我使用这些代码创建了一个9*9数独,但是我如何才能将它应用于gui。所以请帮我创建一个图形用户界面。带有重新生成按钮和关闭按钮。我想要一个好看的窗户。
https://stackoverflow.com/questions/51421185
复制相似问题