Bonjour je suis en seconde et je dois faire un exercice sur Python qui insiste à faire un algorithme qui devine le nombre que tu as en tête (je lui dit plus ou moins suivant le nombre qu'il me propose). Mais je n'y arrive pas même après plusieurs heures de recherches.
J'ai réussit à faire ceci (voir en dessous) mais la façon dont je l'est fait ne convient pas au prof, il me dit que l'ordi met trop de temps a deviner. Pouvez vous m'aider ?
Merci d'avance :)

import random
a=int(input("donne moi un nombre :"))
n=random.randint(1,100)
print("est-ce",n,"?")
while n!=a:
c=int(input("plus(1) ou moins(2) ?:"))
if c==1:
n=n*random.randint(2,4)
n=int(n)
print("est-ce",n,"?")
if c==2:
n=n/random.randint(2,4)
n=int(n)
print("est-ce",n,"?")
if n==a:
print("j'ai gagné !!")


Sagot :

CAYLUS

Réponse :

Bonjour,

Explications :

Clement va vous expliquer mieux que moi,

il suffit d'utiliser une méthode dichotomique

View image CAYLUS