Browse Source

Je ne sais plus si c'est une ia mais réussite à 1000/1000 ou 100% cherche les mot de même taille puis prend les lettres à l'intérieur et plus rapide

master
philippot.m 2 weeks ago
parent
commit
8f47714867
  1. 105
      Pendue_que_j_ai_du_refaire_car_je_suis_con.py

105
Pendue_que_j_ai_du_refaire_car_je_suis_con.py

@ -8,6 +8,17 @@ lettre_à_supp=[]
lst_mot=[] lst_mot=[]
mot_aleatoire=42 mot_aleatoire=42
difficulté=4 difficulté=4
##################Mot######################
def aleatoire():
global mot_aleatoire
global lst_mot
lst_mot=["chou","Nouveaux","Pologne","vortex","Emmanuel","Nicolas","mot","pet","chat","chate","zebre","arbre","Donald","canard","bonjour","cote",
"Mexique","France","pomme","Solene","Alabama","anticonstitutionnelement","alcool","jumeau","jumelle","bourré",
"intergouvernementalisation","Creuse","Elise","abricot","beau","desert","Alaska","jolie","Henry","marche","Felx"]
mot_aleatoire=lst_mot[randint(0,len(lst_mot)-1)]
mot_choisie()
def mot_choisie(): def mot_choisie():
global list_l_pendue global list_l_pendue
global mot_tiret global mot_tiret
@ -17,13 +28,14 @@ def mot_choisie():
global lst_mot global lst_mot
list_mot_pendue=[] list_mot_pendue=[]
#mot_pendue= mot.get() mot_pendue= mot.get()
if len(lst_mot)!=0: if len(lst_mot)!=0:
mot_pendue=mot_aleatoire mot_pendue=mot_aleatoire
list_l_pendue=[] list_l_pendue=[]
mot_tiret=[] mot_tiret=[]
for lettre_pendue in mot_pendue: for lettre_pendue in mot_pendue:
list_l_pendue.append(lettre_pendue) if lettre_pendue in list_l_pendue:
list_l_pendue.append(lettre_pendue)
mot_tiret.append("-") mot_tiret.append("-")
list_mot_pendue.append(lettre_pendue) list_mot_pendue.append(lettre_pendue)
@ -36,7 +48,7 @@ def mot_choisie():
choix_mot.config(state=DISABLED,show="*") choix_mot.config(state=DISABLED,show="*")
mot_affiche=Label(pendue, text=mot_tiret).grid(row=3,column=1) mot_affiche=Label(pendue, text=mot_tiret).grid(row=3,column=1)
bouton_mot.config(state=DISABLED) bouton_mot.config(state=DISABLED)
##################Jeux######################
def commencé(): def commencé():
pendue_jeux(lettre.get()) pendue_jeux(lettre.get())
if sorted(list_l_pendue)==sorted(lettre_à_supp): if sorted(list_l_pendue)==sorted(lettre_à_supp):
@ -56,10 +68,8 @@ def pendue_jeux(lettre_choisie):
global mot_affiche global mot_affiche
global nb_raté global nb_raté
global lettre_à_supp global lettre_à_supp
global lettre_à_supp_av
lettre_trouvé=[] lettre_trouvé=[]
#recherche si la lettre est dans le mot ou est passé #recherche si la lettre est dans le mot ou est passé
lettre_à_supp_av=lettre_à_supp[:]
for i_lettre in range(len(list_l_pendue)): for i_lettre in range(len(list_l_pendue)):
if lettre_choisie==list_l_pendue[i_lettre].lower() and not(lettre_choisie in lettre_à_supp): if lettre_choisie==list_l_pendue[i_lettre].lower() and not(lettre_choisie in lettre_à_supp):
lettre_à_supp.append(list_l_pendue[i_lettre]) lettre_à_supp.append(list_l_pendue[i_lettre])
@ -144,58 +154,77 @@ def choix_niveau():
maître.config(state=DISABLED) maître.config(state=DISABLED)
lettre_choix.config(state=NORMAL) lettre_choix.config(state=NORMAL)
bouton_l.config(state=NORMAL) bouton_l.config(state=NORMAL)
####################Ia################
def aleatoire():
global mot_aleatoire
global lst_mot
lst_mot=["chou","Nouveaux","Pologne","vortex","Emmanuel","Nicolas","mot","pet","chat","chate","zebre","arbre","Donald","canard","bonjour","cote",
"Mexique","France","pomme","Solene","Alabama","anticonstitutionnelement","alcool","jumeau","jumelle","bourré",
"intergouvernementalisation","Creuse","Elise","abricot","beau","desert","Alaska","jolie","Henry","marche","Felx"]
mot_aleatoire=lst_mot[randint(0,len(lst_mot)-1)]
mot_choisie()
def ai_pendue(): def ai_pendue():
global moment_mort global moment_mort
global difficulté global difficulté
global lettre_à_supp global lettre_à_supp
lst_lettre=["azertyuiopqsdfghjklmwxcvbn"]*2*25 #initialisation
i=0 i=0
nb_essaie=0 nb_essaie=0
victoire=0 victoire=0
rate=0 rate=0
mot_victoire=[] mot_victoire=[]
while True: lst_rate=[]
while nb_essaie!=-1 :
#réitialisation des variable
nb_essaie=nb_essaie+1 nb_essaie=nb_essaie+1
moment_mort=2 moment_mort=8
difficulté=4 difficulté=2
i=0 i=0
aleatoire() aleatoire()
lst_lettre_tire=[] lst_lettre_tire=[]
lettre_à_supp=[] lettre_à_supp=[]
lst_mot_possible=[]
for i_mot in range(len(lst_mot)):
if len(lst_mot[i_mot]) == len(list_l_pendue):
lst_mot_possible.append(lst_mot[i_mot])
while not(sorted(list_l_pendue)==sorted(lettre_à_supp) or moment_mort==0) : while not(sorted(list_l_pendue)==sorted(lettre_à_supp) or moment_mort==0) :
lettre_choisie=lst_lettre[i][randint(0,len(lst_lettre[i])-1)] lettre_maj=["a",0]
lst_lettre=[{"lettre":"a","val":0},{"lettre":"e","val":0},{"lettre":"i","val":0},{"lettre":"o","val":0},{"lettre":"u","val":0},{"lettre":"y","val":0},{"lettre":"z","val":0},{"lettre":"r","val":0},{"lettre":"t","val":0},{"lettre":"n","val":0},{"lettre":"p","val":0},{"lettre":"q","val":0},{"lettre":"s","val":0},{"lettre":"d","val":0},{"lettre":"f","val":0},{"lettre":"g","val":0},{"lettre":"h","val":0},{"lettre":"j","val":0},{"lettre":"k","val":0},{"lettre":"l","val":0},{"lettre":"m","val":0},{"lettre":"w","val":0},{"lettre":"x","val":0},{"lettre":"c","val":0},{"lettre":"v","val":0},{"lettre":"b","val":0}]
#print(lst_mot_possible,mot_aleatoire)
for i_mot in range(0,len(lst_mot_possible)):
for i_lettre in range(0,len(lst_mot_possible[i_mot])):
for i_lettre_test in range(25):
#print(lst_mot_possible[i_mot][i_lettre],lst_lettre[i_lettre_test]["lettre"],lst_lettre_tire)
if lst_mot_possible[i_mot][i_lettre].lower()==lst_lettre[i_lettre_test]["lettre"] and not(lst_mot_possible[i_mot][i_lettre].lower() in lst_lettre_tire):
lst_lettre[i_lettre_test]["val"]=lst_lettre[i_lettre_test]["val"]+1
if lettre_maj[1]<lst_lettre[i_lettre_test]["val"]:
lettre_maj=[lst_lettre[i_lettre_test]["lettre"],lst_lettre[i_lettre_test]["val"]]
lettre_choisie=lettre_maj[0]
moment_mort_avant=moment_mort
lst_lettre_tire.append(lettre_choisie) lst_lettre_tire.append(lettre_choisie)
pendue_jeux(lettre_choisie) pendue_jeux(lettre_choisie)
for i_lettre in range(len(list_l_pendue)): print(lettre_choisie,lst_mot_possible,lettre_maj,mot_aleatoire,lst_lettre_tire, sorted(list_l_pendue), sorted(lettre_à_supp))
if lettre_choisie == list_l_pendue[i_lettre].lower() and not(lettre_choisie in lettre_à_supp_av): print(" ")
lst_lettre[i]=lst_lettre[i] + lettre_choisie for i_mot in range(len(lst_mot_possible)-1,-1,-1):
break nb_lettre=0
elif not(lettre_choisie in lettre_à_supp_av)==True and i_lettre==25: for i_lettre in range(len(lst_mot_possible[i_mot])):
nb_l_reajouter=-1
for i_lettre in range(0,len(lst_lettre[i])): if moment_mort==moment_mort_avant:
if lst_lettre[i][i_lettre] ==lettre_choisie: #supprime les mot qui ne contiennent pas la lettre
nb_l_reajouter=nb_l_reajouter+1 #print("=",lst_mot_possible[i_mot],lst_lettre_tire)
lst_lettre[i]=lst_lettre[i].replace(lst_lettre_tire[i],"") +lettre_choisie*nb_l_reajouter if lst_mot_possible[i_mot][i_lettre].lower() in lst_lettre_tire[len(lst_lettre_tire)-1] :
if len(lst_lettre[i])==0: nb_lettre=nb_lettre+1
lst_lettre[i]="azertyuiopqsdfghjklmwxcvbn" break
break else:
#supprime les mot qui contiennent la lettre
#print(lst_mot_possible[i_mot],lst_lettre_tire,lst_mot_possible[i_mot][i_lettre] in lst_lettre_tire[len(lst_lettre_tire)-1] )
if lst_mot_possible[i_mot][i_lettre].lower() in lst_lettre_tire[len(lst_lettre_tire)-1]:
break
if i_lettre==len(lst_mot_possible[i_mot])-1:
nb_lettre=nb_lettre+1
if nb_lettre==0:
lst_mot_possible.pop(i_mot)
i=i+1 i=i+1
print("fini",nb_essaie) print("fini",nb_essaie)
if nb_essaie %1000==0:
print(lst_lettre,rate,victoire,mot_victoire) if nb_essaie %1001==0:
print(rate,victoire,mot_victoire)
victoire=0 victoire=0
rate=0 rate=0
mot_victoire=[] mot_victoire=[]

Loading…
Cancel
Save