# 01 — Le Nombre Mystère **Algorithme :** Recherche dichotomique **Difficulté :** Facile **Durée estimée :** 45 min — 1h --- ## Contexte Vous pensez à un nombre entre 1 et 100. L'ordinateur doit le deviner le plus vite possible en posant des questions. À chaque essai, vous répondez : - `<` si votre nombre est **plus petit** que la proposition - `>` si votre nombre est **plus grand** - `=` si c'est **le bon nombre** L'ordinateur utilise la **recherche dichotomique** : à chaque question, il coupe l'intervalle possible en deux. --- ## Étapes ### Étape 1 — Comprendre la stratégie Sans coder, répondez sur papier : si le nombre est entre 1 et 100, quelle est la première proposition optimale ? Pourquoi ? ### Étape 2 — Implémenter `devine()` Complétez la fonction `devine()` dans `starter.py` : - L'ordinateur part de `gauche = 1` et `droite = 100` - Il propose `milieu = (gauche + droite) // 2` - Selon la réponse, il réduit l'intervalle - Il compte le nombre d'essais ### Étape 3 — Tester Lancez le programme et jouez plusieurs parties. Vérifiez que l'ordinateur trouve toujours en **7 essais maximum**. ### Étape 4 — Extension (si vous avez le temps) Ajoutez une deuxième version où **c'est vous** qui devez deviner le nombre de l'ordinateur. L'ordinateur choisit un nombre aléatoire (`random.randint(1, 100)`), et le programme vous dit si vous êtes trop grand ou trop petit. Comptez vos essais et comparez avec le maximum optimal. --- ## Ce que vous devez rendre - Le programme qui fonctionne - La réponse à la question : pourquoi 7 essais suffisent toujours pour 100 nombres ?