Exercices d'entraînement☘
Les exercices de cette page vont vous amener à programmer, puis à améliorer le jeu du « Plus ou Moins ».
Conseils habituels
Ces exercices doivent être utilisés pour vous entraîner à programmer. Ils sont généralement accompagnés d'aide et de leur solution pour vous permettre de progresser.
Avant de vous précipiter sur ces solutions dès la première difficulté, n'oubliez pas les conseils suivants :
- Avez-vous bien fait un schéma au brouillon pour visualiser le problème posé ?
- Avez-vous essayé de rédiger un algorithme en français, avec vos propres mots, avant de vous lancer dans la programmation sur machine ?
- Avez-vous utilisé des affichages intermédiaires, des
print()
, pour visualiser au fur et à mesure le contenu des variables ? - Avez-vous testé le programme avec les propositions de tests donnés dans l'exercice ?
- Avez-vous testé le programme avec de nouveaux tests, différents de ceux proposés ?
Rappels
- Chaque programme Python doit être sauvegardé sous forme de fichier texte
avec l'extension
.py
.
Enregistrez ce fichier dans le dossier[G04_Dichotomie]
avec le nom donné à l'exercice :ProgG04.61.py
,ProgG04.62.py
, etc... - Pour exécuter ce programme, il suffit de le sauvegarder puis d'appuyer
sur la touche
[F5]
. - Le programme principal doit contenir un appel au module
doctest
:##----- Programme principal et tests -----## if __name__ == '__main__': import doctest doctest.testmod()
ProgG04.61 - Programmer le « Plus ou Moins ? »☘
Copiez/collez et compléter les codes des fonctions reponse()
et jeu()
pour obtenir un jeu du « Plus ou Moins ? » où l'utilisateur
cherche la valeur d'un entier aléatoire compris entre mini
et maxi
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Exécutez ensuite la fonction jeu()
pour tester votre programme et vérifier
qu'il renvoie un texte indiquant le nombre à trouver ainsi que le nombre de
propositions effectuées.
Exemple d'interaction
>>> jeu(0, 100)
Entrez un nombre compris entre 0 et 100 : 50
Moins
Entrez un nombre compris entre 0 et 100 : 25
Plus
Entrez un nombre compris entre 0 et 100 : 37
Plus
Entrez un nombre compris entre 0 et 100 : 43
Plus
Entrez un nombre compris entre 0 et 100 : 46
Moins
Entrez un nombre compris entre 0 et 100 : 44
Plus
Entrez un nombre compris entre 0 et 100 : 45
Bravo
'Le nombre à trouver était 45. Il vous a fallu 7 propositions.'
Une solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
ProgG04.62 - Même chose, en « trichant »☘
Préambule☘
Jouez au jeu du « Plus ou Moins ? » ci-dessous, en cherchant
un entier aléatoire compris entre 1 et 100.
Effectuez plusieurs parties. Que pouvez-vous constater ?
À vous☘
Copiez/collez et compléter le code de la fonction jeu_avec_triche()
pour obtenir un jeu du « Plus ou Moins ? » où l'utilisateur
cherche la valeur d'un entier aléatoire compris entre mini
et maxi
.
Il faut programmer la fonction pour que le nombre cherché soit cohérent avec les propositions de l'utilisateur mais qu'il faille à cet utilisateur le maximum d'essai possible dans le cas d'une recherche par dichotomie.
1 2 3 4 5 6 7 8 9 |
|
Exemple d'interaction
>>> jeu_avec_triche(0, 100)
Entrez un nombre compris entre 0 et 100 : 50
Plus
Entrez un nombre compris entre 0 et 100 : 75
Moins
Entrez un nombre compris entre 0 et 100 : 62
Plus
Entrez un nombre compris entre 0 et 100 : 68
Plus
Entrez un nombre compris entre 0 et 100 : 71
Plus
Entrez un nombre compris entre 0 et 100 : 73
Moins
Entrez un nombre compris entre 0 et 100 : 72
'Le nombre à trouver était 72. Il vous a fallu 7 propositions'
Une solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|