Projets et mini-jeux
Cours · sciences numériques et technologie (seconde), chapitre 7 · seconde générale, SNT · le début du chapitre, la suite sur Adloun
Ce chapitre met en œuvre tout ce qui précède — variables, conditions, boucles, fonctions, listes et hasard — sur des projets complets. Chaque projet donne un cahier des charges, puis une solution commentée. Le mieux est de commencer par écrire le programme soi-même avant de lire le corrigé.
7.1 Le nombre mystère
L'ordinateur choisit un entier secret entre et . À chaque tour, le joueur propose un nombre ; le programme répond « plus grand », « plus petit » ou « gagné », et compte le nombre d'essais.
import random
secret = random.randint(1, 100)
essais = 0
trouve = False
while not trouve:
proposition = int(input("Ton nombre ? "))
essais = essais + 1
if proposition < secret:
print("Plus grand !")
elif proposition > secret:
print("Plus petit !")
else:
print("Gagné en", essais, "essais !")
trouve = True
En proposant toujours le milieu de l'intervalle encore possible, on divise par deux le nombre de candidats à chaque essai : nombres sont éliminés en au plus coups (). C'est le principe de la dichotomie.
À chaque essai, la barre bleue — l'ensemble des nombres encore possibles — est coupée en deux. Elle passe de candidats à , , , , … Le secret est trouvé au sixième coup, et jamais plus de sept ne sont nécessaires.
Exercices du chapitre
- Dérouler une partie du nombre mystère corrigé
- Quiz de calcul mental corrigé
- Limiter le nombre d'essais corrigé
- Pile ou face, série la plus longue corrigé
- Tirer au hasard dans une liste corrigé
- Devine mon nombre corrigé