తప్పకుండా! పైథాన్లో సుడోకు జనరేటర్ను ఎలా సృష్టించాలో ఇక్కడ ఒక ఉదాహరణ ఉంది:
కొండచిలువimport random
def create_sudoku():
"""
Generates a new Sudoku puzzle.
"""
# create a 9x9 grid of zeros
grid = [[0 for i in range(9)] for j in range(9)]
# fill the grid with random numbers that satisfy Sudoku rules
for i in range(9):
for j in range(9):
options = list(range(1, 10))
random.shuffle(options)
for num in options:
if num not in grid[i] and all(row[j] != num for row in grid):
# check if the number is valid in the 3x3 box
box_x = (i // 3) * 3
box_y = (j // 3) * 3
if num not in [grid[x][y] for x in range(box_x, box_x+3) for y in range(box_y, box_y+3)]:
grid[i][j] = num
break
return grid
# example usage
grid = create_sudoku()
for row in grid:
print(row)
ఈ కోడ్ create_sudoku
కొత్త సుడోకు పజిల్ను రూపొందించే ఫంక్షన్ను నిర్వచిస్తుంది. సున్నాల 9x9 గ్రిడ్ను సృష్టించడం ద్వారా ఫంక్షన్ ప్రారంభమవుతుంది. ఇది గ్రిడ్లోని ప్రతి సెల్పై మళ్ళిస్తుంది మరియు సుడోకు నియమాలను (అంటే, అదే అడ్డు వరుస, నిలువు వరుస లేదా 3x3 బాక్స్లో పునరావృత్తులు కాదు) సంతృప్తిపరిచే యాదృచ్ఛిక సంఖ్యతో నింపుతుంది. దీన్ని చేయడానికి, ఫంక్షన్ 1-9 సంఖ్యల యాదృచ్ఛిక క్రమాన్ని ఉత్పత్తి చేస్తుంది, ఆపై ప్రతి సంఖ్యను ప్రస్తుత సెల్లో ఉంచవచ్చో లేదో తనిఖీ చేస్తుంది. చెల్లుబాటు అయ్యే సంఖ్య కనుగొనబడితే, అది గ్రిడ్లో ఉంచబడుతుంది మరియు ఫంక్షన్ తదుపరి సెల్కు వెళుతుంది. చెల్లుబాటు అయ్యే సంఖ్య కనుగొనబడకపోతే, ఫంక్షన్ మునుపటి సెల్కి బ్యాక్ట్రాక్ చేయబడుతుంది మరియు వేరే సంఖ్యతో మళ్లీ ప్రయత్నిస్తుంది.
ఈ కోడ్ని ఉపయోగించడానికి, create_sudoku
కొత్త సుడోకు పజిల్ని రూపొందించడానికి ఫంక్షన్కు కాల్ చేయండి. ఫంక్షన్ పజిల్ను సూచించే పూర్ణాంకాల 9x9 గ్రిడ్ను అందిస్తుంది. ఈ ఉదాహరణలో, మేము ప్రతి అడ్డు వరుసలో లూప్ని ఉపయోగించి కన్సోల్కు గ్రిడ్ను ప్రింట్ చేసాము.....