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 | |