Académique Documents
Professionnel Documents
Culture Documents
PROGRAMMATION PYTHON
Objectifs
❖ Réaliser des activités d’algorithmique débranchée.
❖ Écrire et développer des programmes pour répondre à des problèmes et modéliser
des phénomènes physiques, économiques et sociaux.
I- Vocabulaire
Python est un langage de programmation créé par Guido Van Rossum, dont la
première version est sortie en 1991. C’est aujourd’hui un langage très populaire,
possédant de nombreux avantages :
• il permet une initiation aisée aux concepts de base de la programmation grâce à
sa syntaxe relativement simple, tout en permettant la réalisation de programmes
complexes, comme des jeux, des interfaces graphiques, la gestion du réseau...
• il est multi-plateformes: on peut aussi bien l’utiliser sous Windows, MacOS ou
sous une distribution Linux
• il dispose d’une importante communauté, ce qui permet de trouver la solution à
beaucoup de problèmes directement sur Internet
• il est placé sous licence libre : l’utilisateur est libre de l’utiliser, de le modifier, de
le redistribuer y compris commercialement, et tout ça gratuitement.
1) Notion d’algorithme
Définition
Un algorithme est une liste d’instructions permettant d’effectuer une tâche, de
résoudre un problème.
Exemples
• Une recette de cuisine est un algorithme permettant de réaliser un plat.
• Les itinéraires déterminés par le GPS sont des algorithmes permettant de
passer d’un lieu à un autre.
Remarques
Un algorithme peut être écrit en langage naturel ou traduit, dans un langage de
programmation sous la forme d’un programme exécutable par un ordinateur ou une
calculatrice.
Propriété
Un algorithme se découpe en trois parties :
- L’entrée des données : ce sont les informations nécessaires à
l’utilisation de l’algorithme,
- Le traitement des données : c’est la suite d’instruction à effectuer,
- La sortie des données : c’est la réponse attendue à la fin.
2) Variable
Définition
Une variable est une information contenue dans une « boîte » que l’algorithme
va repérer par son nom.
Il y a plusieurs types de variables :
- Numérique : la « boîte » contient un nombre.
- Texte : la « boîte » contient un caractère ou une chaîne de caractères.
- Booléen : la « boîte » contient la valeur « vrai » ou la valeur « faux ».
Remarques
➢ Certains langages n’utilisent pas de déclaration de type variable : c’est le cas
de la plupart des langages des calculatrices programmables, de Scratch, de
Python.
➢ Les nombres sont sans unité.
➢ Pour les images ou dessins, on utilise souvent le pixel, qui est le plus petit
élément d’une image. Un pixel ne peut contenir qu’une couleur.
Propriété
En Python, l’affectation se réalise avec l’opérateur =.
Exemple
Le script :
b) Est-ce que le programme proposé par Samira permet d'échanger les valeurs
stockées dans les variables a et de b ?
b) Est-ce que le programme proposé par Jean permet d'échanger les valeurs
stockées dans les variables a et de b ?
3) Proposer un programme qui permet d'échanger les valeurs stockées dans les
variables a et de b ?
III- Affichage en python
Propriété
Une chaine de caractère correspond à un texte pouvant contenir plusieurs symboles.
En Python, une chaine de caractère est le contenu délimité par “ “.
Pour afficher une chaine de caractère en Python on utilise la fonction print ( ) .
Exemple
Testez ces différents scripts :
Exercice 2
Réaliser un script qui contient trois variables : prénom, nom et âge et qui doit afficher :
"Bonjour je m'appelle Alphonse Dansletas, j'ai 358 ans. "
Dans le cas où vous vous appelleriez Alphonse Dansletas et que vous seriez âgé de 358
ans.
Propriété
La fonction input permet d’ouvrir une boîte de dialogue et de récupérer une
information saisie par l’utilisateur.
Remarque
L’information récupérée grâce à un input est une chaîne de caractère.
Exemple
Exercice 3
Ecrire un script en Python qui demande à l'utilisateur, son prénom, son nom et son
âge et qui réalise un affichage comme dans l'exercice 2.
Propriété
L’instruction int permet de changer certaines chaines de caractère en un nombre
entier.
L’instruction float permet de changer certaines chaines de caractère en un flottant, c’est-
à-dire « nombre à virgule ».
Exercice 4
Vous êtes chargé(e) de mettre en place une borne automatique pour régler les droits
d’entrée à un parc d’attraction.
Chaque adulte doit payer 21€ pour rentrer et chaque enfant doit payer 13€. Pour cette
borne, vous devez programmer sur Python un algorithme qui renvoie le prix à payer en
fonction du nombre d’adultes et d’enfants du groupe.
Sachant que la variable nombreAdultes stocke le nombre d’adultes, nombreEnfants le
nombre d’enfants et Prix le prix à payer, proposez un tel algorithme qui demande à
l'utilisateur le nombre de personnes dans chacune des catégories et qui affiche le prix
total à payer.
Exercice 5
La surface 𝑆 en mètre carrés de la peau d'un adulte est donnée approximativement
√𝐿×𝑀
par la formule 6 où 𝐿 est la taille de l'individu en mètres et 𝑀 sa masse en
kilogramme.
Vous devez créer ci-dessous un programme en Python.
Remarque
Vous pourrez ainsi utiliser la fonction racine carrée en saisissant sqrt( ) et en
insérant dans la parenthèses le nombre dont vous voulez la racine carrée.
Exemple
Propriété
Voici quelques opérateurs pour réaliser des tests en python :
- Pour tester l’égalité de deux éléments : a==b renvoie true si a et b sont égaux,
false sinon.
- Pour tester la différence de deux éléments : a !=b renvoie true si a et b sont
différent, false sinon.
- Pour tester la comparaison de deux éléments : a < b renvoie true si a < b, false
sinon.
Chaque utilisation de ces tests renvoie une variable qui ne peut prendre que deux
valeurs : true ou false. On parle alors de booléen.
Remarque
Attention à ne pas confondre :
- a=2 qui stocke la valeur 2 dans la variable a
- a==2 qui teste si a est égal à l’entier 2 ou pas.
Exemple
Effectuer le code suivant pour visualiser la différence entre affectation et test
d’égalité :
Propriété : la structure conditionnel « if »
En python, voici la structure conditionnel « if » :
Remarques
➢ Le bloc else n’est pas obligatoire.
➢ Vous remarquerez l’indentation (=décalage) faite dans la structure ; elle délimite
le bloc d’instruction. L’indentation est très importante en python, elle marque le
début d’un bloc.
Exemple
Exercice 6
Qu'affiche le programme de l'exemple dans chacun des cas suivants :
1) Avec a= 8 ?
2) Avec a= −6 ?
3) Avec a= 0 ?
4) Avec a="positif" ?
Exemple
On peut détailler l'exemple précédent en trois cas distinctions par imbrications de
deux instructions conditionnelles :
Remarque
Il est possible de simplifier l'écriture de ces imbrications en utilisant le mot clé elif qui
est la contraction de else if.
Exercice 7
Écrire un programme qui :
• Demande l'âge d'une personne,
• Affiche si la personne est majeure où mineure.
Exercice 8
Un cinéma pratique trois types de tarifs pour deux personnes.
• si les deux personnes sont mineures, elles payent 7€ chacune,
• si l'une seulement est mineure, elles payent un tarif de groupe de 15€,
• si les deux personnes sont majeures, elles payent 18 € en tout.
Écrire un programme qui :
• Demande l'âge de chacune des personnes,
• Affiche le prix à payer.
Exemple
1) Prenons la fonction 𝑓: 𝑥 ⟼ 𝑥 2 .
Si vous voulez implémenter cette fonction en Python, il suffira d'écrire :
Remarque
Dans une fonction on peut faire appel à d'autres fonctions.
Exercice 10
Tester cette fonction :
Exemple
Cette boucle fait le calcul : 0 + 1 + 2 + 3 + 4 + 5 + 6 + +8 + 9 + 10
Remarque
Plus généralement, lors de l’instruction for i in range(m,n), ou m et n sont
deux entiers tel que n>m, 𝑖 prend toutes les valeurs entières comprises entre 𝑚
et 𝑛 − 1.
Exercice 11
Ecrire une fonction somme(n) où n est un entier qui renvoie la valeur de la
somme : 1 + 2 + 3 + ⋯ + 𝑛.
2) Sur un objet itérable
Exemple
Le programme ci-dessous affiche séparément chaque élément d’une chaîne
de caractères.
Exercice 12
1) Que fait le code suivant :
Tant que la condition est vraie les instructions du bloc sont exécutées.
Dans cette structure, on ne connait pas à l’avance le nombre de répétitions.
Remarque
Deux écueils à éviter :
- Ne jamais entrer dans une boucle si la condition de départ vaut false : la
boucle while ne sera jamais exécutée.
- Si la condition ne change jamais de valeur, la boucle ne s’arrêtera pas et
l’algorithme restera bloqué sur le while : l’algorithme tournera indéfiniment.
Exemple
Une balle part d'une hauteur de 2 mètres et perd 10% de sa hauteur à chaque
rebond. On cherche le nombre de rebonds pour que la balle atteigne un maximum de
1,5 mètre de hauteur. Ce problème (on parle de problème de seuil) peut être traité
en python par le script suivant :