Jeu de devinette en Python avec indices sur lettres correctes et position. Facile à utiliser, sans bibliothèque externe, idéal pour apprendre Python.
# Jeu de devinette de mot avec indices sur les lettres correctes et leur position
import random
# Liste des mots secrets
PAROLE = [
"python", "computer", "programmare", "sviluppo", "software",
"hardware", "algoritmo", "debug", "funzione", "variabile"
]
# Fonction qui compare le mot secret avec la tentative et renvoie un indice
# L'indice est une chaîne où :
# - les lettres correctes et à la bonne position sont affichées en majuscules
# - les lettres présentes mais à la mauvaise position sont affichées en minuscules
# - les lettres absentes sont représentées par '_'
def suggerisci(parola_segreta, tentativo):
suggerimento = ["_"] * len(parola_segreta)
parola_segreta_lista = list(parola_segreta)
tentativo_lista = list(tentativo)
# Première passe : lettres correctes et à la bonne position
for i in range(len(tentativo_lista)):
if i < len(parola_segreta_lista) and tentativo_lista[i] == parola_segreta_lista[i]:
suggerimento[i] = tentativo_lista[i].upper() # Majuscule pour correct et position
parola_segreta_lista[i] = None # Marque comme utilisé
tentativo_lista[i] = None
# Deuxième passe : lettres présentes mais à la mauvaise position
for i in range(len(tentativo_lista)):
if tentativo_lista[i] is not None and tentativo_lista[i] in parola_segreta_lista:
suggerimento[i] = tentativo_lista[i].lower() # Minuscule pour présent mais mauvaise position
# Supprime la première occurrence trouvée
idx = parola_segreta_lista.index(tentativo_lista[i])
parola_segreta_lista[idx] = None
# sinon reste '_' pour les lettres absentes
return "".join(suggerimento)
def gioco():
print("Bienvenue au jeu de devinette de mot !")
parola_segreta = random.choice(PAROLE)
tentativi_max = 10
tentativi_fatti = 0
while tentativi_fatti < tentativi_max:
tentativo = input(f"Essai {tentativi_fatti + 1}/{tentativi_max}, entrez un mot de {len(parola_segreta)} lettres : ").lower()
# Vérification de la longueur
if len(tentativo) != len(parola_segreta):
print(f"Erreur : le mot doit contenir exactement {len(parola_segreta)} lettres.")
continue
# Vérification uniquement lettres alphabétiques
if not tentativo.isalpha():
print("Erreur : le mot doit contenir uniquement des lettres.")
continue
tentativi_fatti += 1
if tentativo == parola_segreta:
print(f"Félicitations ! Vous avez deviné le mot '{parola_segreta}' en {tentativi_fatti} essais.")
break
suggerimento = suggerisci(parola_segreta, tentativo)
print(f"Indice : {suggerimento}")
else:
print(f"Dommage ! Vous avez épuisé vos essais. Le mot était '{parola_segreta}'.")
if __name__ == "__main__":
gioco()Python 3.x
Aucune bibliothèque externe requise
CONFIG : liste de mots secrets codée en dur dans le code
INPUT : saisie clavier pour les tentatives
OUTPUT : affichage console des indices et de l'état du jeu