Introduction au langage Python 2021-2022
Introduction au langage Python 2021-2022
PYTHON
MINISTERE DE L’EDUCATION
INTRODUCTION
PYTHON
Python est un langage de programmation inventé par
Guido van Rossum en 1989.
Python est un langage de programmation de haut niveau. Il est
proche des langues naturelles, ce qui facilite l’écriture des
programmes, en plus le programme peut faire fonctionner sans
aucune modification, sur des machines ou des systèmes différents.
Python est un excellent langage pour les débutants car il est facile
à apprendre.
SOUS WINDOWS:
• Visitez : [Link]
SOUS UNIX:
Python est pré-installé sur la plupart des systèmes
Unix, y compris Linux et MAC OS X.
INTRODUCTION
Syntaxe (Python)
1. Opération d’entrée
Nom_variable = input (”texte”) # Le message s’affiche avant de saisir le contenu de la variable
Syntaxe (Python)
2. Opération de sortie
print (”texte”) # affichage d’un texte
print (variable) # affiche du contenu d’une variable
print (”texte1”, var1, ...) # affichage mixte
print (expression) # affichage du résultat de l’expression
Syntaxe (Python)
3. Opération d’affectation
Nom_variable = Expression
Activité n°1
Ecrire un programme qui permet de :
- Lire deux entiers a et b.
- Calculer la somme de ces deux entiers et affecter le résultat dans une variable s.
- Afficher la somme.
Syntaxe (Python)
1. Déclaration
Nom_variable = Valeur_variable
Activité n°1
Déclarer la variable age=17, puis faire appel à l’aide du nom age, Age et AGE.
Déterminer le type de la variable age.
Remarque
Python est sensible à la casse, ce qui signifie que les variables age, Age et AGE sont différentes.
La Fonction type(nom_variable) nous permet de déterminer le type d’une variable sur Python.
Les opérations arithmétiques et de comparaison sur les types numériques (int, float)
Opérateur Syntaxe Python Exemple Syntaxe Python Signification Exemple
Addition + 2 + 2 donne 4 < Strictement inférieur à 2 < 3 donne True
Soustraction - 2.4–6.0 donne –3.6 <= Inférieur ou égal à 2.75 <= 2 donne False
Multiplication * 3*2 donne 6 > Strictement supérieur à 3 > 2 donne True
Division / 5/2.5 donne 2.0 >= Supérieur ou égal à 2.5 >= 2 donne True
Puissance ** 3**3 donne 27 == Égal à 2.5 == 2.5 donne True
Division entière // 10.0//3.0 donne 3.0 != Différent de 2 != 2 donne False
Reste de la division entière % 5%2 donne 1
Activité n°2
3. Le type bool bool est un type de variable à deux états: True ou False
Exemple: p = True
Activité n°3
4. Le type str Une donnée de type str est une suite quelconque de caractères.
Exemple: nom = "Tounsi" | prenom=‘Mohamed’
Activité n°4
Remarque
Les chaînes de caractères sont immuables (on ne peut pas changer leurs valeurs).
Il est donc, interdit d’écrire par exemple: ch[0]=’P’
Activité n°6
Soit la liste: couleurs= [’Rouge’,’Bleu’,’Vert’]
1) Déclarer la liste couleurs.
2) Afficher l’élément à la position 2. Y a t-il une autre méthode pour afficher cet élément.
3) Remplacer la couleur ‘Rouge’ par ‘Orange’.
4) Afficher la liste couleurs.
Remarque
En Python, les listes sont modifiables (Il est possible de changer les éléments individuels d’une liste).
Activité n°8
Définir la liste: noms = [’sami’, ‘ali’, ‘walid’, ‘mehdi’], puis effectuer les actions suivantes:
1) Ajouter ‘ahmed’ à la fin de la liste.
2) Supprimer ‘ali’ de la liste.
3) Trouver la position de ‘walid’ dans la liste.
4) Trier la liste.
5) Afficher la liste.
Activité n°9
Soit le tableau de 2 dimensions suivant:
5 7 3
8 10 15
22 4 0
6. Le type tuple En Python le type tuple permet de créer des sortes de listes non modifiables (une fois déclaré ne peut
plus être modifié).
Exemple: tuple_1 = ( 7, ‘d’, 5, 4.5)
tuple_2 = ‘a’, ‘b’, 5, 4.5 # les parenthèses ne son pas obligatoires
list_3 = [ 9 , ‘b’, 5, 4.5]
tuple_3 = tuple(list_3)
Activité n°9
Soit le tuple : tuple_notes = (10, 7.5, 19, 5, 9.5)
1) Déclarer le tuple.
2) Afficher l’élément à la position 2
3) Remplacer 7.5 par 11.5
Remarque
7. Le type dict Un dictionnaire en python est une sorte de liste mais au lieu d'utiliser des index , on utilise des clés ,
c'est à dire des valeurs autres que numériques.
Exemple: infopers= { "Nom": "Tounsi", "Prenom": "Mohamed", "Age": 25 }
print (infopers["Nom "]) # accéder à un élément d’un dictionnaire
‘ Tounsi ’
infopers[" Age "] = 30 # Mettre à jour la valeur de clé “Age”
infopers[" Tél "] = 99999999 # Ajouter un nouveau élément avec la clé est “Tél”
del infopers[" Age "] # Supprimer un élément avec la clé est “Age”
len (infopers) # Renvoi le nombre des éléments
[Link]() # Renvoi les clés
[Link]() # Renvoi les valeurs
[Link]() # Supprimer tous les éléments
dir(infopers) # Renvoie les membres de la classe dict
INTRODUCTION
1. Présentation Le module Turtle est un ensemble d’outils permettant de dessiner à l’aide d’instructions simples.
Une tortue est un petit robot qui dessine sur l’écran et on peut lui dire de se déplacer en utilisant des commandes en
Python.
Exercice n°2
Exercice n°3
Exemple :
Si la longueur =200 et la largeur =100. Le programme affiche :
La surface du rectangle est: 20000 pixels
INTRODUCTION
Une structure de contrôle itérative complète permet de répéter l’exécution d’une suite d’instructions un nombre
1. Structure iterative complète
fini de fois connu à l’avance.
Syntaxe (Python)
for e in séquence:
instruction 1
…
instruction n
# retour à la ligne sans indentation
Remarque
Activité n°2
Écrire un programme Python qui demande le côté d'un carré, puis qui dessine le carré à l'aide
d'une boucle for.
Activité n°3
Saisir le programme python suivant et l’enregistrer dans un fichier ayant pour nom « fleur ».
Exécuter ce programme.
import turtle
t=[Link]()
[Link]('red','pink')
[Link](4)
t.begin_fill()
for i in range(17):
[Link](i*3, 180)
[Link](45)
t.end_fill()
Activité n°4
1. Structure itérative complète
Ecrire un programme Python qui compte le nombre de lettres z dans une chaîne de caractères.
Activité n°5
Ecrire un programme Python qui permet de dessiner un tourbillon coloré.
Une structure de contrôle itérative à condition d’arrêt permet de répéter l’exécution d’une suite d’instructions
2. Structure itérative
jusqu’à rencontrer la condition d’arrêt.
à condition d’arrêt
Cette structure est utilisée dans le cas où le nombre de répétitions est inconnu à l’avance.
Syntaxe (Python)
while condition :
instruction 1
…
instruction n
# retour à la ligne sans indentation
Activité n°6
Écrire un programme permettant de tracer un pentagone régulier de côté 120 px à l’aide de la boucle while.
import turtle
import random
t = [Link]()
[Link](0)
my_color = ['red', 'blue', 'green','yellow','black','magenta','cyan']
r=[Link](1,110)
while r<=100:
[Link]()
[Link]([Link](-300,300),[Link](-300,300))
[Link]()
[Link]([Link](my_color))
[Link](r,[Link](my_color))
r=[Link](1,110)
Une structure de contrôle conditionnelle est dite généralisée lorsqu’elle permet de résoudre des problèmes
1. Forme généralisée
comportant plus de deux traitements en fonction des conditions.
L’exécution d’un traitement entraîne automatiquement le non exécution des autres traitements.
Syntaxe (Python)
if condition 1:
Traitement 1
elif condition 2:
Traitement 2
…
elif condition n-1:
Traitement n-1
else:
Traitement n
# retour à la ligne sans indentation
Activité n°8
Ecrire un programme python qui permet de dessiner une forme géométrique donnée.
Ce programme ne sait dessiner que les formes suivantes: cercle, carré et triangle.
INTRODUCTION
1. Présentation et syntaxe Une fonction est un sous programme qui peut retourner plusieurs résultats.
Syntaxe (Python)
Remarque
Le bloc d’instruction est obligatoire.
La documentation (facultative) est fortement conseillée.
Activité n°1
Ecrire une fonction majorité qui prend en paramètre le prénom et l'âge d’une personne.
La procédure affichera ensuite un message disant ‘Bonjour prénom’, puis indiquera s’il est mineur (-18) ou
s’il est majeur.
Remarques
Pour utiliser une fonction, il suffit de l’appeler par son nom + ses paramètres s’il y en a.
nomFonction(paramètres)
L’accès à la documentation se fait avec la fonction
help(nomFonction).
Activité n°3
Ecrire une fonction volumeSphere qui calcule le volume d’une sphère de rayon r fourni en argument.
Tester la fonction volumeSphere par un appel dans le programme principal.
Ecrire une fonction airePerimRect qui calcule l’aire et le périmètre d’un rectangle.
Remarques
En python, une fonction peut retourner plusieurs valeurs !
2. Variables locales, variables Lorsqu’une fonction est appelée, Python réserve pour elle un espace de noms. Cet espace de noms local à la
globales fonction est à distinguer de l’espace de noms global où se trouvait les variables du programme principal.
- Les variables locales sont définies à l’intérieur du corps d’une fonction, ces variables ne sont accessible
qu’a la fonction elle même.
- Les variables globales sont définies à l’extérieur d’une fonction et leur contenu est visible de l’intérieur
d’une fonction.
Une variable globale ne peut pas être modifiée depuis le corps d’une fonction, si elle est immutable
Exemple
Type int (immuable) Type str (immuable) Type list (muable)
3. Passage des arguments Chaque paramètre de la définition de la fonction correspond, dans l’ordre, à un argument de l’appel.
Le (ou les) argument effectif d’entrée peut être une constante, une variable, le résultat d’une expression.
Remarques
Le nom d’une variable que nous passons comme argument n’a rien à voir avec le nom du paramètre correspondant
dans la fonction ( ces noms peuvent être différents) .
Ecrire une fonction supprimElementsNegatifs prenant une liste d’entiers et supprimant les entiers strictement
négatifs de cette liste.
Tester cette fonction.
Remarque
Une fonction peut agir sur leurs paramètres (peut retourner un résultat via ses paramètres).
L’idée de ce projet est de créer une scène qui contient une maison, un arbre et un soleil.
1. Projet: Maison pour tortue
Pour faciliter le travail, vous devez d’abord définir les fonctions suivantes:
• Définir une fonction dessinerRectangle(t, largeur, hauteur, couleur) pour dessiner et remplir un
rectangle avec les dimensions et la couleur sont données.
Exemple: dessinerRectangle(t, 100, 50, “blue”) donne
• Définir une fonction dessinerTriangle(t, longueur, couleur) pour dessiner et remplir un triangle rectangle
isocèle avec la longueur de l'hypoténuse et la couleur sont données.
Exemple: dessinerRectangle(t, 100, “green”) donne
• Définir une fonction dessinerParallelogram(t, largeur, hauteur, couleur) pour dessiner et remplir un
parallélogramme, avec les dimensions et la couleur sont données.
Exemple: dessinerParallelogram(t, 100, 50, “brown”) donne
• Définir une fonction dessinerRayons(t, longueur, rayon) pour dessiner quatre rayons de soleil de longueur
donnée, pour le soleil du rayon donné. La tortue commence au centre du cercle.
Exemple: dessinerRayons(t, 40, 50) donne
1. Projet: Maison pour tortue Maintenant en utilisant les fonctions précédentes dessiner la scène suivante:
INTRODUCTION
8 3 12 9 5 10 6
8 3 12 9 5 10 6
8 3 12 9 5 10 6
8 3 12 9 5 10 6
Algorithme
0) Def Fn rechSeq( T :Tab; n, x :entier): Booléen
1) i ← 1
Tantque ( i ≤ n et T[ i ] != x ) faire
i←i+1
FinTantque
2) Si ( i = n+1 ) alors
rechSeq ← Faux
Sinon
rechSeq ← Vrai
FinSi
3) Fn rechSeq
T[milieu] = 15 3 5 6 8 9 12 15 19 23 51 Vrai
inf milieu sup trouve
Algorithme
0) Def Fn rechDic( T :Tab; n, x :entier): Booléen
1) inf ← 1
sup ← n
trouve ← Faux
Tantque ( inf ≤ sup et trouve = Faux ) faire
milieu ← (inf + sup) div 2
Si ( x < T[ milieu ] ) alors
sup ← milieu - 1
Sinon Si ( x > T[ milieu ] ) alors
inf ← milieu + 1
Sinon
trouve ← Vrai
FinSi
FinTantque
2) rechDic ← trouve
3) Fin rechDic
……………
Algorithme
0) Def Proc triInsertion(var T:Tab; n:entier)
1) Pour i de 2 à n faire :
x ← T[ i ]
j←i
Tantque ( j > 1 et T[ j-1] > x ) faire
T[ j ] ← T[ j-1]
j ← j-1
Fin Tantque
T[ j ] ← x
FinPour
2) Fin triInsertion
Exemple :
Algorithme
0) Def Proc triBulles(var T :Tab; n :entier)
1) permut ← True
Tantque ( permut = True ) faire
permut ← faux
Pour i de 1 à n - 1 faire
si T[ i ] > T[ i + 1 ] alors
tmp ← T[ i ]
T[ i ] ← T[ i+1 ]
T[ i+1 ] ← tmp
permut ← vrai
Finsi
FinPour
Fin Tantque
2) Fin triBulles
…………..
Algorithme
0) Def Proc triSelection(var T :Tab; n :entier)
1) Pour i de 1 à n-1 faire
posmin ← I
Pour j de i+1 à n faire
si T[ j ] < T [posmin] alors
posmin ← j
Finsi
FinPour
Si (posmin ≠ i) alors
temp ← T[ j ]
T[ j ] ← T [posmin]
T[posmin] ← temp
FinSi
Fin Pour
2) Fin triSelection
1. Présentation Un algorithme récurrent est un algorithme utilisant un traitement répétitif pour produire un résultat calculé.
Ce résultat peut dépendre des P résultats précédents : c’est un algorithme récurrent d’ordre P.
- Si P = 1, on parle d’algorithme récurrent d’ordre 1
- Si P = 2, on parle d’algorithme récurrent d’ordre 2
Exemple :
Algorithme
Remarque
Pour une valeur donnée de compteur i, la valeur de la somme est égale à la valeur ancienne incrementée de la valeur
de i ( s ← s + i ).
C’est un algorithme récurrent d’ordre 1.
Algorithme
Algorithme
Algorithme
Remarque
Une valeur d’un terme donné dépend de la valeur du terme qui le précède. Il s’agit donc d’un algorithme récurrent
d’ordre 1.
U0=1 ; U1=1
Un = Un-1 + Un-2 , avec n≥2
2) Traduire cet algorithme en Python.
Algorithme
Remarque
Il s’agit d’un traitement itératif. La valeur d’un terme dépend de deux termes précèdents: C’est un algorithme récurrent
d’ordre 2.
Activité n°10
Calculer le PGCD(36, 15).
Solution
Si a = 36, b = 15.
PGCD (36, 15) = PGCD (15, 6)
= PGCD (6, 3)
= PGCD (3, 0)
=3
Algorithme
Activité n°12
Calculer le PPCM(3, 64).
Solution
Si a = 3, b = 64 alors max = 64, min=3.
64 mod 3 = 1 ≠ 0 alors max = 64+64+3-3 = 128
128 mod 3 = 2 ≠ 0 alors max = 128+64+3-3 = 192
192 mod 3 = 0 alors, on s’arrête.
PPCM = max = 193 = 3
Algorithme
Activité n°14
Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée premier qui permet de vérifier si un entier
n (n>1) est premier ou non.
Algorithme
0) Début Fn premier(a :entier): booléen
1) i ← 2
2) Tantque (n mod i ≠ 0) et (i ≤ n div 2) faire
i←i+1
Fin Tantque
3) Si (i > n div 2) alors
premier ← Vrai
Si non
premier ← Faux
Fin Si
4) Fin premier
Activité n°15
Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée factoriel qui permet de calculer la
factorielle d’un entier n.
Algorithme
0) Début Fn factoriel(n :entier): entier
1) f ← 1
2) Pour i de 1 à n faire
f←f×i
Fin Pour
3) factoriel ← f
4) Fin factoriel
Solution
On va dresser puis remplir le tableau suivant :
Quotient 38 19 9 4 2 1 0
reste 0 1 1 0 0 1
Solution
On va dresser puis remplir le tableau suivant :
Quotient 142 8 1
reste 14 8
On va écrire les restes en ordre inverse de leur apparition, on obtient 8E. (car 14 devient E en base 16)
En déduire que (142)10 = (8E)16
Remarque
5. La conversion entre les bases
de numération En Python, on peut utiliser les fonctions suivantes pour convertir un nombre entier (en base 10) dans une autre base:
- Fonction bin: permet de convertir un nombre entier en un nombre binaire.
- Fonction hex: permet de convertir un nombre entier en un nombre hexadécimal.
- Fonction oct: permet de convertir un nombre entier en un nombre octal.
En Python, on peut utiliser la fonction int pour convertir les différentes bases vers la base décimal.
Exemple :