سورس پروژه Sudoku با پایتون
سورس پروژه Sudoku با پایتون
در این بخش از سورس سافت با یکی دیگر از سورس های برنامه نویسی با سورس پروژه Sudoku با پایتون در خدمت شما دوستان هستیم.
سورس کد Sudoku با زبان برنامه نویسی پایتون با ورژن کد 3.3.4 کدنویسی شده است. کار با سورس کد بسیار راحت هست، کافیه سورس کد زیر را در پایتون ایمپورت کرده و ازش استفاده کنید.
سورس کد python :
#?using? python 3.3.4 to develop sudoku game ?#?sudoku? game from random import randint ?#?generate? board def build_board(): board=[] for i in range(9): block=[[" "," "," "], [" "," "," "], [" "," "," "]] board.append(block) return board ## ## Ensure no other block in the same row has the value ## def row_available(block, row, board, num): # Determine which of the main 3 rows this 3x3 block is at boardRow = int(block / 3); good = True for b in range(boardRow * 3, (boardRow * 3) + 3): if b != block: if num in board[b][row]: good = False break return good ## ## Ensure no other block in the same col has the value ## def col_available(block, row, col, board, num): # Determine which of the main 3 columns this 3x3 block is at boardCol = block % 3; good = True for b in (boardCol, boardCol + 3, boardCol + 6): if b != block: if num == board[b][row][col]: good = False break return good def fill_board(board): # to fill all numbers 1 through 9 for num in range(1,10): # for each of the 9 3x3 blocks for block in range(len(board)): triedRow = [-1] foundSpot = False for i in range(3): row = -1 while row in triedRow: row = randint(0,2) triedRow.append(row) if " " in board[block][row] and row_available(block, row, board, num): triedCol = [-1] for j in range(3): col = -1 while col in triedCol: col = randint(0,2) triedCol.append(col) if " " == board[block][row][col] and col_available(block, row, col, board, num): board[block][row][col] = num foundSpot = True if foundSpot: break if foundSpot: break if not foundSpot: print("Never Found a Spot for " + str(num) + " in block " + str(block)) return board ?#?display? board def display(board): num=[] for i in board: ?#?block? level for subI in i: ?#?row? for subsubI in subI: ?#?item? num.append(subsubI) print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[0],num[1],num[2],num[9],num[10],num[11],num[18],num[19],num[20])) print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[3],num[4],num[5],num[12],num[13],num[14],num[21],num[22],num[23])) print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[6],num[7],num[8],num[15],num[16],num[17],num[24],num[25],num[26])) print("---------------------------------------") print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[27],num[28],num[29],num[36],num[37],num[38],num[45],num[46],num[47])) print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[30],num[31],num[32],num[39],num[40],num[41],num[48],num[49],num[50])) print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[33],num[34],num[35],num[42],num[43],num[44],num[51],num[52],num[53])) print("---------------------------------------") print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[54],num[55],num[56],num[63],num[64],num[65],num[72],num[73],num[74])) print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[57],num[58],num[59],num[66],num[67],num[68],num[75],num[76],num[77])) print("---------------------------------------") print("| {} | {} | {} || {} | {} | {} || {} | {} | {} |".format(num[60],num[61],num[62],num[69],num[70],num[71],num[78],num[79],num[80])) print("---------------------------------------") ?#?test? board=build_board() board=fill_board(board) display=display(board)
سورس پروژه Sudoku با پایتون
امیدواریم این سورس کد Sudoku با پایتون مورد استفاده شما دوستان قرار بگیرد.
دیدگاه ها