Principe du jeu
Le jeu des allumettes se joue à deux. Il y a au départ 13 allumettes. Chacun à son tour, les joueurs retirent entre une et trois allumettes. Celui qui retire la dernière allumette a perdu.
Le logiciel que nous allons utiliser s'appelle Thonny. Il est disponible à l'adresse : https://thonny.org/
Thonny est essentiellement constitué de deux blocs : l'éditeur de texte et la console de l'interpréteur.
L'éditeur de texte est la zone où l'on écrit le programme. En effet, les programmes sont tapés dans des fichiers textes, que l'on peut sauvegarder, modifier et distribuer à loisir.
Dans Thonny, on peut exécuter le programme contenu dans le fichier texte à l'aide du bouton d'exécution.
La console est la zone où l'on interagit avec le pro- gramme. Elle se repère aux trois chevrons (>>>) qu'elle contient.
On se sert de cette zone essentiellement pour visua- liser le résultat de l'exécution de nos programmes, et pour les saisies. Cependant, on peut aussi se servir de la console pour tester l'effet d'une commande.
Définition
Une variable correspond à un emplacement dans la mémoire de l'ordinateur auquel on donne :
Définition
L'affectation est une opération permettant de définir la valeur initiale d'une variable (on parle alors d'initialisation), puis de modifer la valeur de cette variable.
En Python, on note :
Exemple.
Pour affcher la valeur d'une variable, une valeur ou du texte dans la console, on utilise en Python :
Exemple.
Exercice 1.
Écrire un programme Python qui réalise les opérations suivantes :
a
et la valeur est 42
,b
et la valeur est 314
,c
et la valeur est égale à la valeur de a
plus la valeur
de b
,a
, b
et c
,c
de 2
,b
de 3
,a
, b
et c
À savoir
Pour rendre un programme interactif, on peut, pendant l'exécution de celui-ci, demander
à l'utilisateur de saisir un texte ou une valeur grâce à une instruction de saisie.
Lorsqu'arrive une instruction de saisie, le programme se met en pause. L'utilisateur doit
alors saisir quelque chose dans la console et appuyer sur la touche "entrée" pour valider.
Pour expliciter ce qu'il faut saisir, une instruction de saisie est en général accompagnée
par l'affichage d'un message explicatif. La valeur saisie doit par ailleurs être stockée
dans une variable de manière à pouvoir être réutilisée dans la suite du programme.
Pour demander de saisir une valeur et la stocker dans une variable nommée a, on utilise les instructions suivantes :
En python :
Exemple.
Exercice 2.
Écrire en Python un programme qui :
Résultat attendu :
>>> %Run -c $EDITOR_CONTENT saisir le nombre d'allumettes de départ : 7 saisir le nombre d'allumettes à enlever : 2 nombre d'allumettes restantes : 5 >>>
Exercice 3.
Une épicerie vend de la farine à 2 euros le kilo, et des tablettes de chocolat à 3 euros.
Écrire en Python un programme qui :
Résultat attendu :
>>> %Run -c $EDITOR_CONTENT saisir le nombre de kilos de farine : 5 saisir un nombre de tablettes de chocolat : 3 le prix à payer au total pour la farine et le chocolat est de 19 euros >>>
Définition
Une boucle (ou structure itérative), est une structure permettant de répéter plusieurs fois l'exécution d'un bloc d'instructions. Il en existe deux en Python : la boucle "Tant que" et la boucle "Pour".
La boucle "tant que" permet de répéter un bloc d'instructions tant qu'une condition est vérifiée. Lorsque la condition n'est plus vérifiée, on sort de la boucle. Une telle structure se formalise de la façon suivante :
En Python :Exemple.
Remarques.
Les conditions qui apparaissent dans les boucles Tant Que sont exprimées à l'aide d'opérateurs de comparaison. Il y a six opérateurs de comparaison :
En mathématiques | = | ≠ | < | ≤ | > | ≥ |
En Python | == | ! = | < | <= | > | >= |
Exemple.
a <= 8 est vraie si la variable a est inférieure ou égale à 8.
>>> a=1 >>> a<=8 True >>> a=9 >>> a<=8 False >>>
Exercice 4.
Écrire en Python un programme qui :
nb_allumettes
de valeur 13,nb_allumettes
en conséquence.Résultat attendu :
>>> %Run -c $EDITOR_CONTENT il reste 21 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 3 il reste 17 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 3 il reste 14 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 2 il reste 12 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 3 il reste 9 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 3 il reste 6 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 1 il reste 5 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 3 il reste 2 allumettes saisir un nombre, entre 1 et 3, d'allumettes à enlever : 2 il reste plus d'allumettes >>>
Exercice 5.
Pour simuler un lancer de dé, on tire un nombre aléatoire entre 1 et 6. Pour cela, on utilise les instructions Python suivantes :
Écrire en Python un programme qui simule les tirages successifs d'un dé, en affichant les valeurs au fur et à mesure, jusqu'à ce qu'un 2 apparaisse.
>>> %Run -c $EDITOR_CONTENT 5 1 4 1 4 6 2 >>>
Les structures conditionnelles permettent de faire varier le comportement de l'algorithme en fonction d'une ou plusieurs conditions. Une structure conditionnelle simple est construite de la façon suivante :
En Python :
Dans cette structure, le else
et les instructions qui l'accompagnent sont facultatifs.
Exemple.
>>> %Run -c $EDITOR_CONTENT 3 * 8 = ? Saisir le résultat du calcul : 24 Bravo ! >>> >>> %Run -c $EDITOR_CONTENT 10 * 4 = ? Saisir le résultat du calcul : 50 Raté ! >>>
Exercice 6.
Écrire en Python un programme qui :
Résultat attendu :
>>> %Run -c $EDITOR_CONTENT Saisir votre âge : 16 Vous êtes mineur >>> >>> %Run -c $EDITOR_CONTENT Saisir votre âge : 18 Vous êtes majeur >>>
Exercice7.
Dans cet exercice, deux joueurs s'affrontent : l'utilisateur et l'ordinateur. L'ordinateur jouera
au hasard (grâce à la fonction randint
, voir exercice 5). On utilisera une variable, nommée
joueur
pour représenter le joueur dont c'est le tour : cette variable vaudra 0 si c'est au tour
de l'ordinateur et 1 si c'est au tour de l'utilisateur.
Écrire le programme du jeu des allumettes qui :
nb_allumettes
à 13,joueur
,nb_allumettes
en conséquence,
joueur
,>>> %Run -c $EDITOR_CONTENT saisir 0 si l'ordinateur commence sinon 1 : 0 L'ordinateur commence il reste 21 allumettes L'ordinateur prends 1 allummettes il reste 20 allumettes combien d'allumettes enlèves-tu ? 3 il reste 17 allumettes L'ordinateur prends 2 allummettes il reste 15 allumettes combien d'allumettes enlèves-tu ? 2 il reste 13 allumettes L'ordinateur prends 3 allummettes il reste 10 allumettes combien d'allumettes enlèves-tu ? 1 il reste 9 allumettes L'ordinateur prends 3 allummettes il reste 6 allumettes combien d'allumettes enlèves-tu ? 1 il reste 5 allumettes L'ordinateur prends 1 allummettes il reste 4 allumettes combien d'allumettes enlèves-tu ? 3 il reste 1 allumettes L'ordinateur prends 1 allummettes Tu gagnes, 👏,👏 ! >>> >>> %Run -c $EDITOR_CONTENT saisir 0 si l'ordinateur commence sinon 1 : 1 Tu commences il reste 21 allumettes combien d'allumettes enlèves-tu ? 1 il reste 20 allumettes L'ordinateur prends 3 allummettes il reste 17 allumettes combien d'allumettes enlèves-tu ? 1 il reste 16 allumettes L'ordinateur prends 1 allummettes il reste 15 allumettes combien d'allumettes enlèves-tu ? 2 il reste 13 allumettes L'ordinateur prends 1 allummettes il reste 12 allumettes combien d'allumettes enlèves-tu ? 3 il reste 9 allumettes L'ordinateur prends 3 allummettes il reste 6 allumettes combien d'allumettes enlèves-tu ? 3 il reste 3 allumettes L'ordinateur prends 2 allummettes il reste 1 allumettes combien d'allumettes enlèves-tu ? 1 L'ordinateur gagne >>>
Exercice 8.
Dans le jeu des allumettes, il existe une stratégie gagnante : l'un des joueur (en fonction du nombre d'allumettes au départ) est assuré de gagner si il joue bien.
1) Déterminer la stratégie gagnante.
2) Faire dans la console les calculs suivants 14%10, 15%10, 17%10, 14%5, 15%5 et 16%5.Que fait l’opération % ?
3) Dans l'exercice précédent, faire en sorte que l'ordinateur, au lieu de jouer aléatoirement, joue selon la stratégie gagnante.
Contenu sous licence CC BY-NC-SA 3.0
Amandine Schreck 12/01/2024
MAJ : 06/02/2024