Mini-projets algorithmique, corrigé TP KNN, news, notebooks IA
This commit is contained in:
41
algorithmes/mini-projets/01_devine_nombre/starter.py
Normal file
41
algorithmes/mini-projets/01_devine_nombre/starter.py
Normal file
@@ -0,0 +1,41 @@
|
||||
# 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()
|
||||
Reference in New Issue
Block a user