42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
# Projet 01 — Le Nombre Mystère
|
|
# Algorithme : Recherche dichotomique
|
|
|
|
def devine():
|
|
"""
|
|
L'ordinateur devine le nombre auquel pense l'utilisateur
|
|
en utilisant la recherche dichotomique.
|
|
"""
|
|
print("=== Le Nombre Mystère ===")
|
|
print("Pense à un nombre entre 1 et 100 (sans le dire !)")
|
|
print("Réponds avec : < (trop grand), > (trop petit), = (trouvé !)")
|
|
print()
|
|
|
|
gauche = 1
|
|
droite = 100
|
|
nb_essais = 0
|
|
|
|
while gauche <= droite:
|
|
milieu = (gauche + droite) // 2
|
|
nb_essais += 1
|
|
|
|
reponse = input(f"Essai {nb_essais} — Est-ce que ton nombre est {milieu} ? ")
|
|
|
|
if reponse == "=":
|
|
print(f"Trouvé ! C'était bien {milieu}, en {nb_essais} essai(s) !")
|
|
return
|
|
elif reponse == "<":
|
|
# TODO : le nombre cherché est plus petit que milieu
|
|
# Que faut-il modifier ? gauche ou droite ?
|
|
pass
|
|
elif reponse == ">":
|
|
# TODO : le nombre cherché est plus grand que milieu
|
|
pass
|
|
else:
|
|
print("Réponse invalide, utilise <, > ou =")
|
|
|
|
print("Je n'ai pas trouvé... tu as peut-être changé de nombre !")
|
|
|
|
|
|
# --- Programme principal ---
|
|
devine()
|