Bonsoir a tous, je dois rendre un dm dans 2 jours sur le logiciel python mais j'ai quelques difficultés voici mon énoncé : On demande à l'utilisateur de deviner en moins de six essais un nombre tiré au hasard entre 10 et 100. On lui indique à chaque fois si le nombre proposé est superieur ou inférieur au nombre cherché.
1) a) Que représente les variables E,S,N
b) Ecrire et tester un programme traduisant cet algorithme.
2)Sans stratégie, il est difficile de gagner.
En effet, selon le choix des valeurs, il sera
ou non possible de déterminer à coup sûr la
solution.
La méthode consiste, en choisissant à
chaque fois la valeur située au milieu de
l’intervalle en cours, à réduire de moitié
l’amplitude de l’intervalle dans lequel se
trouve le nombre.
Tester cette stratégie pour gagner à tous les
coups à ce jeu et détailler un coup gagnant.
Affecter à S la valeur d'un nombre
aléatoire entier compris entre 10 et 100
Affecter à E la valeur 1
Tant que E<7
Saisir N
Si N>S
Alors afficher "C'est moins"
Sinon
Si N<S
Alors afficher "C'est plus"
Sinon
Afficher "C'est gagné"
Sortir de la boucle
Fin Si
Fin Si
Affecter à E la valeur E+1
Fin Tant que
Si E=7
Alors afficher "C'est perdu"
Fin Si
Voici mon algorithme en langage naturel
J'ai testé sur python cet algorithme et j'ai obtenue :
from random import*
S= randint (10,100)
E = 1
while E < 7 :
N = int(input("saisir une valeur comprise entre 10 et 100:"))
if N > S:
print("C'est moins")
elif N < S:
print("C'est plus")
else:
print("C'est gagné")
break
E= E+1
if E==7:
print("C'est gagné")
Mon seul problème c'est que mon ''elif'' m'indique qu'il y a une erreur de syntaxe du coup je ne peux pas exécuter mon programme.
Pour terminer je n'ai pas compris le sens de la question 2.
Si quelqu'un peut m'éclaircir sur ces 2 points s'il vous plait merci infiniment