Académique Documents
Professionnel Documents
Culture Documents
1ère partie
Réalisé par : Prof. Yassine Ben Salah
CREFOC - GAFSA
29-01-2019
Introduction
• Python est interprété : test de quelques lignes du code sans besoin d’écrire
un programme complet
• Python est puissant :Typage dynamique, gestion automatique de la mémoire,
riche en terme de bibliothèque, …
• Python est Joker : il est utilisé pour l’administration système, les applications
bureau, le web, jeux vidéo, ….
• Python c'est l'avenir : python c'est le métier de l'avenir, to make money
5. Installation de Python
Sous Windows :
• Visiter le site :https://www.python.org/downloads/
• télécharger la dernière version pour windows (Download
Python 3.7.2) (Choisir la version compatible avec votre
système 32-bits ou bien 64-bits)
• Installer ensuite python
• Dans le menu windows vous trouvez Python
• ouvrir IDLE
• Commencer à coder
N.B. : Python est préinstallé sut la plupart des systèmes Unix,
Linux, Mac Os, etc…
1. Les constantes :
Activité :
Pi=3.14
Est ce qu'on peut modifier La valeur de Pi?
Pi est le rapport constant de la circonférence d'un cercle C à son
diamètre D (Pi=C/D=3.14)
Définition :
Une constante est une donnée dont la valeur ne peut subir
aucune modification au cours du programme
2. Les variables :
Définition :
Une variable est un objet auquel une valeur peut être affectée et
qui peut subir des modifications au cours du traitement
Déclaration :
Nom_Variable = Valeur_Variable
= correspond à une affectation
Activité :
Déclarer la variable age=17, puis faire appel à l'aide du nom age,
Age et AGE
Que constatez vous?
Solution :
age=17
print ('age=', age)
print ('age=', Age) #Erreur
print ('age=', AGE) #Erreur
N.B. :
• Les lettres majuscules et minuscules ne constituent la même
variable (age <> Age <> AGE)
• Python est sensible à la casse, ce qui signifie les variables
age, Age et AGE sont différentes
Activité 5 :
a=32 et b=2.5
Déterminer le type des variables a et b.
Solution :
a=32
print(type(a)) #<class 'int'>
b=2.5
print(type(b)) #<class 'float'>
N.B. : Le modèle de données de Python est basé sur les objets.
Toute donnée manipulée est un objet avec un identifiant, un
type et une valeur.
• id() : renvoie l’identifiant d’un objet.
• type() : renvoie le type d’un objet.
• dir() : liste l’ensemble des fonctionnalités d’un objet.
a=20
b=3
print('a=',a)
print(type(a))
print(a,'+',b,'=',a+b) #La somme de a + b
print(a,'-',b,'=',a-b) #La soustraction de a - b
print(a,'*',b,'=',a*b) #La multiplication de a * b
print(a,'/',b,'=',a/b) #La division de a / b
print(a,'**',b,'=',a**b) #La puissance de a ** b
print(a,'//',b,'=',a//b) #La division entière de a // b
print(a,'%',b,'=',a%b) #Le reste de la division entière a % b
a=20.5
b=3.2
print('a=',a)
print(type(a))
print(a,'+',b,'=',a+b) #La somme de a + b
print(a,'-',b,'=',a-b) #La soustraction de a - b
print(a,'*',b,'=',a*b) #La multiplication de a * b
print(a,'/',b,'=',a/b) #La division de a / b
print(a,'**',b,'=',a**b) #La puissance de a ** b
print(a,'//',b,'=',a//b) #La division entière de a // b
print(a,'%',b,'=',a%b) #Le reste de la division entière a % b
a=7
b=5
c=2
d=9
w= a * b // d % c #1
x= (a * b) // (d % c) #35
y = a-b * c + d #6
z= (a-b) * c + d #13
print(w)
print(x)
print(y)
print(z)
print(not(2<1)) #True
print((5>3) and (1==2)) #False
print((7==8)or(4!=3)) #True
b- Formatage de chaîne :
À chaque expression précédée d’un %, appelé marqueur de formatage, doit
correspondre une valeur de formatage
manipulation
Fonctions Description
permet la concaténation de deux ou plusieurs chaînes des
+
caractères
* permet la répétition d’une chaîne n fois
Len(ch) Retourne le nombre de caractères d'une chaîne
Ch.strip() Enlève les espaces en début et en fin d'une chaîne Ch
Ch.lower() Mettre tous les caractères d’une chaîne Ch en minuscules
Ch.upper() Mettre tous les caractères d’une chaîne Ch en majuscules
Vérifier si tous les caractères d’une chaîne Ch sont en
Ch.isupper()
majuscules (True / False)
Ch.find(sous- Retourne la position d'une sous chaîne dans une chaîne
chaine) Ch
Fonctions Description
Retourne le nombre d'occurrence d'une sous
Ch.count(sous-chaîne)
chaîne dans une chaîne Ch
Ch.replace(ancien-cara, nouveau- Remplacer les n premières occurrences d’un
car, n-prem-occ) caractère par un autre dans une chîne Ch
permet de créer une liste, qui contient les
Ch.split(caract_séparation )
éléments d'une chaine Ch en les séparant
(découper) par un caractère choisi
max(ch) Retourne le caractère maximum d'une chaîne
Min(ch) Retourne le caractère minimum d'une chaîne
Inclusion – retourne True si Ch1 est dans Ch
Ch1 in Ch
False si non
Non inclusion - retourne True si Ch1 n'est pas
Ch1 not in Ch
dans Ch, False si non
Remarque :
Python est un langage dynamique : on peut changer le contenu de
variable, et le type sera changer automatiquement,
Activité : Taper et exécuter le code suivant
x=5
print(type(x)) # <class 'int'>
x='Bonjour'
print(type(x)) # <class 'str'>
x=False
print(type(x)) # <class 'bool'>
x=12.75
print(type(x)) # <class ‘float'>
x=7-3j
print(type(x)) # <class ‘complex'>
Remarque :
Autre truc qui existe exclusivement avec python, c'est l’affectation
multiples (= multiple assign )
Activité : Taper et exécuter le code suivant
x,y,z =100,5.9,'Bonjour‘ #Multiple assign
print(x) #100
print(y) #5.9
print(z) #’Bonjour’
a=b=c=1
print(a)
print(b)
print(c)
a=15
b=20
a,b=b,a
print(a) #20
print(b) #15
Entrée Sortie
Présentation :
Une structure de contrôle conditionnelle permet
à un programme de modifier son traitement en
fonction d’une condition.
Une condition est une expression qui renvoie
une des deux valeurs suivantes : Vrai (True) ou
Faux (False)
a. Définition:
b- Syntaxe
if condition: (: représente la fin de la condition)
____traitement ou bien pass
#Retour à la ligne sans indentation
N.B. :
Pour identifier les instructions composées, Python utilise la notion
d’indentation significative. Cette syntaxe met en lumière un bloc
d’instructions et permet d’améliorer la lisibilité des programmes
sources.
Toutes les instructions au même niveau d’indentation appartiennent
au même bloc.
L’instruction pass ne fait rien. Elle peut être utilisée lorsqu’une
instruction est nécessaire pour fournir une syntaxe correcte, mais
qu’aucune action ne doit être effectuée.
ph=6.0
if ph<7.0:
print("C’est un acide.")
if ph>7.0:
print("C’est une base.")
a. Définition :
b. Syntaxe
n=5
if n<=0:
print(n, 'est négatif ou nul')
else:
print(n,'est positif')
a. Définition :
Une structure de contrôle conditionnelle généralisée permet de
résoudre des problèmes comportant plus de deux traitement en
fonction des conditions
L’exécution d’un traitement entraîne automatiquement le non
exécution des autres traitements
b. Syntaxe :
if condition1 : (: représente la fin de la condition)
____traitement1
elif condition2 :
____traitement2 ou bien pass
elif condition3 :
____traitement3 ou bien pass
........
else:
____traitementn
#Retour à la ligne sans indentation
N.B. : Avec python, il faut respecter bien l'alignement, c'est à dire les conditions
doivent être en même niveau et les traitements doivent être aussi au même niveau
(notion d’indentation)
abonnes = 100
if abonnes > 100:
print('Vous continuez avec youtube')
elif abonnes > 50:
print('Faites un autre effort')
else:
print('Arrêtez avec youtube')
Solution :
sexe=input('Entrer votre sexe : ')
taille=int(input('Entrer votre taille : '))
print(type(sexe))
print(type(taille))
if sexe=='Homme':
if (taille > 80 and taille <= 140 ):
print('Désolé vous n\'êtes pas accepté ')
elif (taille > 140 and taille <= 170 ):
pass #L’instruction pass ne fait rien, aucune action ne doit être effectuée
elif (taille > 170) and (taille <= 200):
print('Vous êtes accepté ')
else:
print('Votre taille n\'est pas concernée ')
elif sexe=='Femme':
if (taille > 60 and taille <= 120 ):
print('Désolé vous n\'êtes pas accepté ')
elif (taille > 120 and taille <= 150 ):
pass #L’instruction pass ne fait rien, aucune action ne doit être effectuée
elif (taille > 150):
print('Vous êtes accepté ')
else:
print('Votre taille n\'est pas concernée ')
else:
print('Ce sexe n\'existe pas')
a- Définition :
La boucle For permet de répéter une ou plusieurs instructions
un nombre fini de fois connu à l'avance
b- Syntaxe :
Condition
Exécution :
2
a
3.14
>>>
N.B. :
bor_inf : représente la borne inférieure du compteur, c'est le point départ, si
on ne met pas la borne inférieure, par défaut la borne inférieure
commence par 0
bor_sup : représente la borne supérieure du compteur, c'est le point d'arrêt
du compteur, (cette valeur est exclue), donc il faut obligatoirement
mentionné cette valeur
Pas : représente la valeur d’avancement du compteur, par défaut le pas = 1
for i in range(5,17,3): #le compteur commence par 5, le point d’arrivé =17 (exclue), le pas =3
print(i)
5
8
11
14
>>>
Ou bien :
for i in range(5): #nb de répétition = 5, le compteur commence par 0, le point d’arrivé =4, le pas =1
print(i)
Exécution :
0
1
2
3
4
>>>
Application :
a- Définition :
La boucle while permet de répéter une ou plusieurs
instructions tant qu’une expression est vérifiée en renvoyant True
Lorsque l’expression n’est plus vraie, la partie else est exécutée si elle
existe (optionnelle) et la boucle s’arrête
Cette structure est utilisée lorsque le nombre de répétition est inconnu à
l’avance
b- Syntaxe :
Condition
while condition :
_____traitement
else:
_____traitement
#Retour à la ligne sans indentation
N.B. :
• Lorsque l’exécution est achevée (la condition est évaluée à False) , un
traitement optionnel présenté par else est à son tour exécuté.
Exécution :
0
1
2
3
end
>>>
Exécution :
Entrez un entier entre [1 .. 10] : 15
Entrez un entier entre [1 .. 10], S.V.P. : 20
Entrez un entier entre [1 .. 10], S.V.P. : 30
Entrez un entier entre [1 .. 10], S.V.P. : 5
Bravo
>>>
Application :
Ecrire un programme en Python qui permet de
calculer le PGCD de deux entiers positifs donnés a et
b par la méthode de soustraction (différence)
• Pgcd(a, b)=Pgcd(a-b, a) si a>b
• Pgcd(a, b)=Pgcd(a, b-a) si b>a
• Pgcd(a, b)=a si a=b
a = int(input('saisir a : '))
while not(a>0) :
a = int(input('Saisir a : '))
b = int(input('saisir b : '))
while not(b>0) :
b = int(input('Saisir b : '))
while a!= b :
if a>b :
a=a-b
else:
b=b-a
print('Le PGCD = ', a)
Exécution :
50
>>>
Les Commandes de base pour créer des graphiques avec le module turtle
sont les suivantes :
up(), penup() : Relever le crayon (pour pouvoir avancer sans dessiner)
down() : Abaisser le crayon (pour pouvoir recommencer à dessiner)
speed(''texte'') : définir la vitesse de la tortue
forward(distance) : avancer d’une distance (en pixel)
backward(distance) : Reculer d’une distance (en pixel)
left(angle) : Tourner à gauche d'un angle donné (exprimé en degré)
right(angle) : tourner à droite d'un angle donné (exprimé en degré)
goto(x,y) : se déplacer vers le point de coordonnées (x,y)
width(épaisseur) ou bien pensize(épaisseur) : définir l‘épaisseur du tracé
N.B. :
Pour la commande color(''couleur'') , les couleurs suivantes peuvent
être choisies : ‘blue’, ‘red’, ‘black’, ‘green’, ‘pink’, ‘orange’, ‘white’, ‘brown’,
‘yellow’, ‘grey’, ‘purple’, etc…
Pour la commande speed(''texte'') , on peut choisir (du plus lent au
plus rapide) : ‘slowest’, ‘slow’, ‘normal’, ‘fast’ et ‘fastest’.
Ne pas oublier d'utiliser la fonction up() avant d'utiliser goto(x,y) car
sinon il tracera le parcours effectué
#Cercle 1
up()
goto(0,-45)
pensize(5) #Epaisseur = 5
color('white') #Couleur = 'blanc'
begin_fill()
down()
circle(100) #Cercle de rayon = 80
end_fill()
#Cercle 3
up()
goto(30,0)
pensize(5) #Epaisseur = 5
color('white') #Couleur = 'white'
begin_fill()
down()
circle(50) #Cercle de rayon = 50
end_fill()
# Création de l'étoile
up()
goto(0,60)
color("red")
pensize(5)
down()
begin_fill()
x=5
for i in range(x) : #Répétition 5 fois (5 segments d'une étoile
forward(60) #Avancement d'une distance = 75
right(144) #Tourner à droite d'angle = 144
end_fill()