Files
2019-01-20 00:55:05 +01:00

93 lines
2.9 KiB
Python

import math
import random
import numpy
#Initialisation
Sudoku = [[1,6,2,8,5,7,4,9,3],
[5,3,4,1,2,9,6,7,8],
[7,8,9,6,4,3,5,2,1],
[4,7,5,3,1,2,9,8,6],
[9,1,3,5,8,6,7,4,2],
[6,2,8,7,9,4,1,3,5],
[3,5,6,4,7,8,2,1,9],
[2,4,1,9,3,5,8,6,7],
[8,9,7,2,6,1,3,5,4]]
#Fonctions
def Générer(Grille):
for Z in range(0,100):
Liste=[0]*9
C=random.randint(1,4)
N=random.randint(0,2)
O=(N+random.randint(1,2))%3
for A in range(0,3):
W=0
for B in range(0,9):
if C==1:
M=27*A+B+9*N
H=27*A+B+9*O
if C==2:
M=3*A+9*B+N
H=3*A+9*B+O
if C==3:
M=27*N+9*A+B
H=27*O+9*A+B
if C==4:
M=3*N+A+9*B
H=3*O+A+9*B
D=M%9
E=M//9
F=H%9
G=H//9
Liste[W]=Grille[D][E]
Grille[D][E]=Grille[F][G]
Grille[F][G]=Liste[W]
W=W+1
for D in range(0,9):
for E in range(0,9):
if random.randint(1,3)==1:
Grille[D][E]=0
def AfficherNul(Grille):
for E in range(0,9):
print(Grille[E])
def Afficher(dboard):
print(dboard[0], dboard[1], dboard[2], "|", dboard[3], dboard[4], dboard[5], "|", dboard[6], dboard[7],dboard[8])
print(dboard[9], dboard[10], dboard[11], "|", dboard[12], dboard[13], dboard[14], "|", dboard[15], dboard[16],dboard[17])
print(dboard[18], dboard[19], dboard[20], "|", dboard[21], dboard[22], dboard[23], "|", dboard[24], dboard[25], dboard[26])
print("------+-------+------")
print(dboard[27], dboard[28], dboard[29], "|", dboard[30], dboard[31], dboard[32], "|", dboard[33], dboard[34], dboard[35])
print(dboard[36], dboard[37], dboard[38], "|", dboard[39], dboard[40], dboard[41], "|", dboard[42], dboard[43],dboard[44])
print(dboard[45], dboard[46], dboard[47], "|", dboard[48], dboard[49], dboard[50], "|", dboard[51],dboard[52], dboard[53])
print("------+-------+------")
print(dboard[54], dboard[55], dboard[56], "|", dboard[57], dboard[58], dboard[59], "|", dboard[60], dboard[61], dboard[62])
print(dboard[63], dboard[64], dboard[65], "|", dboard[66], dboard[67], dboard[68], "|", dboard[69], dboard[70], dboard[71])
print(dboard[72], dboard[73], dboard[74], "|", dboard[75], dboard[76], dboard[77], "|", dboard[78], dboard[79], dboard[80])
def TraduireEnListe(Grille):
Liste=[0]*81
for x in range(0,9):
for y in range(0,9):
Liste[x*9+y]=Grille[x][y]
return Liste
def CompléterPS(Grille):
return True
def Remplir(Liste)
return Issues
def Résolveur(Grille):
return Grille
Générer(Sudoku)
Afficher(TraduireEnListe(Sudoku))