Jeu de devinette de mot avec indices sur les lettres correctes et leur position

Jeu de devinette en Python avec indices sur lettres correctes et position. Facile à utiliser, sans bibliothèque externe, idéal pour apprendre Python.

Brève Introduction

Jeu de devinette de mot avec indices sur les lettres correctes et leur position (python)
DESCRIPTION :
Un jeu textuel en Python où l'utilisateur doit deviner un mot secret. Après chaque tentative, le programme fournit un indice indiquant quelles lettres sont correctes et à la bonne position, lesquelles sont présentes mais à la mauvaise position, et lesquelles ne sont pas présentes dans le mot.

NOTES SUPPLÉMENTAIRES :
Le jeu est textuel et facile à utiliser. Il fournit des retours détaillés pour aider l'utilisateur à deviner le mot. Il ne nécessite pas de bibliothèques externes et fonctionne sur tout système avec Python 3.x installé.

EXPLICATIONS :
- La fonction suggerisci() sert à fournir un retour détaillé après chaque tentative, distinguant les lettres correctes et à la bonne position, les lettres présentes mais à la mauvaise position, et les lettres absentes.
- Une double passe est utilisée pour éviter de compter deux fois la même lettre lorsqu'elle apparaît plusieurs fois dans le mot secret.
- Le jeu permet un maximum de 10 tentatives pour deviner le mot.
- La validation de l'entrée garantit que l'utilisateur saisit des mots de la bonne longueur et composés uniquement de lettres.
- Le retour utilise des lettres majuscules pour indiquer les lettres correctes et à la bonne position, des minuscules pour les lettres présentes mais à la mauvaise position, et un underscore '_' pour les lettres absentes.

Code d'Exemple : 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()
×
×
×
Veux-tu régénérer la réponse ?
×
Exporter le chat
Choisissez le format d'export
⏳ Generazione PDF in corso…
Allegati
×
⚠️ Vous êtes sur le point de fermer le chat et de passer au générateur d’images. Si vous n’êtes pas connecté, vous perdrez notre conversation. Confirmez-vous ?
👁 Tu consultes une discussion partagée en mode temporaire. Elle ne sera pas enregistrée.
💬
×
Prompts enregistrés
×
Note privée
×
Étiquette
×
Rechercher dans toutes les discussions
×
Vos insights
Analyse en cours…
×
Préférences IA
Nom de l'assistant 30
Longueur des réponses
Modèle IA
Réponses structurées
Inclure des exemples
Utiliser des emojis
Guide-moi, ne résous pas Des indices et des questions plutôt que la réponse toute faite
Plus de réglages →
×
Partager cette discussion
Toute personne ouvrant ce lien pourra consulter la discussion ou l'ajouter à son profil comme discussion personnelle.
⚠️ Attention : les pièces jointes de la discussion seront également partagées. Qui l'ajoutera recevra une copie des fichiers dans son dossier.
Discussion partagée
Quelqu'un a partagé une discussion avec toi. Veux-tu seulement la consulter ou l'ajouter à tes discussions ?
⚠️ Attention : les pièces jointes de la discussion seront également partagées. Qui l'ajoutera recevra une copie des fichiers dans son dossier.
×

📌 Messages enregistrés

Chargement...

×

Historique des discussions

programmes-exemples · HISTORIQUE DU CHAT

Chargement...

Préférences IA

×
  • 🟢 BasiqueRéponses rapides et essentielles pour étudier
  • 🔵 MoyenQualité supérieure pour étude et programmation
  • 🟣 AvancéRaisonnement complexe et analyses détaillées
Expliquer les étapes

Qu'est-ce qu'il faut ?

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

Sujets Similaires

Calculatrice de base avec addition et soustraction
Programme Python simple pour addition et soustraction entre deux entiers avec interface textuelle intuitive, idéal pour débutants sans expérience.
Comptage de 1 à 1 avec une boucle while
Exemple simple en Python montrant comment utiliser une boucle while pour compter de 1 à 1 et afficher chaque nombre sans dépendances externes.
Calcul de la surface d’un rectangle
Programme Python simple pour calculer la surface d’un rectangle en demandant la base et la hauteur à l’utilisateur avec affichage formaté.
Imprimer les nombres de 1 à 1 sur une ligne
Script Python simple pour imprimer les nombres de 1 à 1 sur une seule ligne avec une boucle for et print sans retour à la ligne.
Calcul de la surface d’un cercle donné le rayon
Programme Python simple pour calculer la surface d’un cercle à partir du rayon avec gestion des erreurs et affichage précis des résultats.
Imprimer les nombres pairs de 2 à 2 avec une boucle for
Script Python simple pour afficher les nombres pairs de 2 à 2 avec une boucle for, idéal pour apprendre les boucles et conditions en Python 3.
Vérifier si un mot est plus long que 5 caractères
Script Python simple pour vérifier si un mot saisi par l’utilisateur est plus long que cinq caractères et afficher un message adapté en console.
Calcul du total d’une facture avec TVA incluse
Script Python pour calculer le total d’une facture avec TVA incluse à 22 en saisissant les prix des articles un par un facilement et rapidement.