Vous êtes sur la page 1sur 131

Formation Python

1ère partie
Réalisé par : Prof. Yassine Ben Salah
CREFOC - GAFSA
29-01-2019

PROF. Yassine Ben Salah 1


Plan

 Introduction

 I- Les structures de données

 II- Les Entrées – les sorties en Python

 III- Les structures conditionnelles

 IV- Les structures itératives

 V- Le graphique avec Python : Module Turtle

PROF. Yassine Ben Salah 2


Introduction

1. C’est quoi 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 langage de programmation interprété et non
compilé
 Python est un excellent langage pour les débutants car il est
facile à apprendre.
Site officiel : https://www.python.org

PROF. Yassine Ben Salah 3


Introduction
2. Un peu d’histoire
 1989 : Création du Python par Guido Van Rossum
 1994 : Publication de la version 1.0
 16 Octobre 2000 : Publication de la version 2.0
 3 décembre 2008 : Publication de la version 3.0
 27 Juin 2009 : Publication de la version 3.1
 20 Février 2011 : Publication de la version 3.2
 29 Septembre 2012 : Publication de la version 3.3
 16 Mars 2014 : Publication de la version 3.4
 13 Septembre 2015 : Publication de la version 3.5
 23 décembre 2016 : Publication de la version 3.6
 31 janvier 2018 : Publication de la version 3.7
 24 Décembre 2018 : Publication de la version 3.7.2
PROF. Yassine Ben Salah 4
Introduction
3. Qui utilise Python?

PROF. Yassine Ben Salah 5


Introduction
4. Pourquoi préférer Python aux autres langages?
Python devient le langage de programmation le plus populaire (mai 2018)

PROF. Yassine Ben Salah 6


Introduction
• Python est gratuit : Téléchargement et installation de python est gratuit et
facile, Le code source est accessible
• Python est Facile à apprendre : la Structure et la syntaxe sont assez intuitive
et facile à saisir
• Indentation du code : Pas de begin et end explicites, ni d'accolades pour les
blocs d’instructions.
• Très documenté : les documentations officiels de python se trouvent dans :
https://docs/www.python.org
• Python est portable et multiplateforme

• 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

PROF. Yassine Ben Salah 7


Introduction

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…

PROF. Yassine Ben Salah 8


Introduction
6. IDLE : Editeur pour Python
IDLE (Integreted DevLopement Environement) :
L’environnement de développement intégré IDLE est un logiciel
spécialement conçu pour faciliter la programmation en Python
IDLE offre un certain nombre de fonctionnalités pour vous aider à
développer vos programmes Python comme :
 Le Shell Python (Interpréteur interactive )
 L’éditeur de texte avec coloration syntaxique, l’auto complétion et
l’indentation
 Le débogueur intégré avec avancement par étape
N.B. :
 IDLE est l’éditeur standard fourni avec la distribution Python
 On peut utiliser d’autres éditeurs comme exemples : visual studio code,
MU, Pycharme, etc…

PROF. Yassine Ben Salah 9


Introduction
Activité :
 Choisir un éditeur Python : Mu par exemple
 Taper ce code
#Mon premier code en Python : #c'est un commentaire
print('Salut mes collègues ')
print('Hello')
print('Mon premier code en python')
"""
ceci est un
commentaire long
"""

 Enregistrer le fichier sous le nom main.py dans un dossier nommé Projet et


exécuter ce code
N.B. : py est l'extension d'un fichier python
# un commentaire dans une seule ligne
''' un commentaire dans plusieurs lignes '''
""" un commentaire dans plusieurs lignes """

PROF. Yassine Ben Salah 10


I- Les structures de données
I.1 Les constantes et les variables

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

PROF. Yassine Ben Salah 11


I- Les structures de données
I.1 Les constantes et les variables
Activité :
Ecrire un code en Python qui permet :
 D’afficher la constante pi,
 D’additionner pi avec 1, et de l’affecter à pi
 D’afficher pi encore une autre fois.
 Exécuter ce code, que constatez vous?
 Fermer l'éditeur IDLE et ouvrir de nouveau et afficher la constante pi.
Que constatez vous?
Solution :
from math import * #importer la bibliothèque du module math
print('Pi = ',pi) #Afficher la valeur de pi
pi=pi+1
print('Pi = ',pi) #Afficher la valeur de pi après modification
• On constate que la constante pi peut être changer au cours du programme
• On remarque que la valeur pi est toujours initialisé à 3.14

PROF. Yassine Ben Salah 12


I- Les structures de données
I.1 Les constantes et les variables

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

PROF. Yassine Ben Salah 13


I- Les structures de données
I.1 Les constantes et les variables

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

PROF. Yassine Ben Salah 14


I- Les structures de données
I.2 Les types de données

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.

PROF. Yassine Ben Salah 15


I- Les structures de données
I.2 Les types de données
En Python, les types de données sont classés généralement en trois
catégories : les valeurs numériques, les valeurs alphanumériques et les
nombres complexes.
Les types de données les plus utilisés sont :
 Les entiers (Exemple 100)
 Les réels (Exemple 5.99) (on utilise un point décimal et non une
virgule)
 Le type complexe (Exemple 5+2j)
 Le type booléen
 Les chaines de caractères : mot / Phrase (Exemple 'Bonjour')
 Le type liste
 Le type tuple
 Le type set
 Le type dictionnaire

PROF. Yassine Ben Salah 16


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

print(type(20)) #<class 'int'>


print(type(7.5)) #<class ‘float'>
print(type('Bonjour')) #<class ‘str'>
print(type(8<10)) #<class ‘bool'>
print(type(9+2j)) #<class ‘complex'>
x=7,5
print(type(x)) #<class ‘tuple'>

PROF. Yassine Ben Salah 17


I- Les structures de données
I.2 Les types de données

1.Le type entier (int) :


a. Définition :
Une variable de type int est un nombre sans virgule
flottante
Le type int n’est limité en taille que par la mémoire de la
machine (pratiquement la taille d’un entier en Python est
illimitée)

PROF. Yassine Ben Salah 18


I- Les structures de données
I.2 Les types de données

b. Les opérateurs arithmétiques sur les


entiers :

PROF. Yassine Ben Salah 19


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

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

PROF. Yassine Ben Salah 20


I- Les structures de données
I.2 Les types de données

2.Le type réel (float) :


a. Définition :
Une variable de type float est un nombre décimal avec
virgule flottante (avec un point décimal)
Un float en python doit être écrit avec un point décimal
(jamais avec une virgule)
Activité : Taper et exécuter le code suivant
a=2,5
print(type(a)) #<class ‘tuple'>
b=2.5
print(type(b)) #<class ‘float'>
N.B. 2,5 est de type tuple alors 2.5 est de type float

PROF. Yassine Ben Salah 21


I- Les structures de données
I.2 Les types de données

b. Les opérateurs arithmétiques sur les


réels :

PROF. Yassine Ben Salah 22


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

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

PROF. Yassine Ben Salah 23


I- Les structures de données
I.2 Les types de données
c. Les opérateurs de comparaison sur les entiers et
les réels :

N.B. : En Python il existe deux opérateurs d’identités is et is not


• x is y : Identité
• x is not y : Non identité

PROF. Yassine Ben Salah 24


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant


x = 5.5
y=9
print(x>y) #False
print(x>=y) #False
print(x<y) #True
print(x<=y) #True
print(x==y) #False
print(x!=y) #True
print(2<=y<10) #True
print(x is y) # opérateur d’identité False
print (x is not y) # opérateur de non identité True

N.B.: Il ne faut pas confondre entre l’opérateur d’affectation « = » et l’opérateur de


comparaison «==» qui compare les valeurs de deux variables
Il ne faut pas confondre entre «is» « et «==», is compare les valeurs et aussi les
objets (exemple comparer deux listes ), alors == compare seulement les valeurs

PROF. Yassine Ben Salah 25


I- Les structures de données
I.2 Les types de données

d. Ordre de priorité des opérateurs :


L'ordre de priorité est :
1. les parenthèses ()
2. la multiplication *, la division /, la division entière // et le reste de la
division entière %
3. L'addition + et la soustraction –
N.B. Si les opérateurs ont même priorité, on commence de gauche vers
la droite

PROF. Yassine Ben Salah 26


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

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)

PROF. Yassine Ben Salah 27


I- Les structures de données
I.2 Les types de données

e. Les fonctions mathématiques :


Python fournit des fonctions mathématiques de base, regroupées dans le module
math.
Elle peuvent être regroupées en trois ensembles :
 Des constantes.
 Des fonctions de conversion ;
 Des fonctions trigonométriques ;
Pour utiliser les fonctions mathématiques, il faut commencer par importer le
module math, pour importer la bibliothèque mathématique on utilise :
from math import *
(* pour utiliser toutes les fonctions usuelles de math)
On peut préciser la fonction du module math, pour cela on utilise
from math import nom_fonction
par exemple from math import pi

N.B. : dir( ) retourne la liste des fonctions d'un module donné :

PROF. Yassine Ben Salah 28


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

from math import *


print(dir()) #Lister l’ensemble des fonctionnalités du module math
print(e) #Constante mathématique e (constante d’Euler)
print(pi) #Constante mathématique π
print(sqrt(16)) #Renvoie la racine carrée de x
print(abs(-8)) #Renvoie la valeur absolue de x
print(fabs(-8)) #Renvoie la valeur absolue de x en float
print(trunc(5.25)) #Renvoie la partie entière de x
print(pow(3, 4)) #Renvoie x**y
print(cos(pi/4)) #Renvoie le cosinus de x en radians.
print(degrees(pi/4)) #Convertit en degrés un angle exprimé en radians.

PROF. Yassine Ben Salah 29


I- Les structures de données
I.2 Les types de données

f. Les nombres aléatoires :


Pour générer un nombre aléatoire avec python, on doit importer d’abord
la bibliothèque random
 Pour générer un nombre aléatoire de type entier, on doit appeler la
fonction randint
from random import randint
randint(BINF,BSUP)
(BINF, BSUP) représente l'intervalle au quelle générée le nombre
aléatoire de type entier
 Il est possible de générer un nombre aléatoire de type réel, on doit
d'abord appeler la fonction uniform de la bibliothèque random
from random import uniform
uniform(BINF,BSUP)
(BINF, BSUP) représente l'intervalle au quelle générée le nombre aléatoire
de type réel

PROF. Yassine Ben Salah 30


I- Les structures de données
I.2 Les types de données
Activité : Taper et exécuter le code suivant

from random import randint


print(randint(0,5)) # génère un nombre aléatoire de type entier entre 0 et 5
from random import uniform
print(uniform(0,5)) # génère un nombre aléatoire de type réel entre 0 et 5

PROF. Yassine Ben Salah 31


I- Les structures de données
I.2 Les types de données
3.Le type complexe :
a. Définition :
Une variable de type complexe est écrit en notation cartésienne
formée de deux flottants. Une partie réelle et une partie imaginaire
La partie imaginaire est suffixée par j
Exemple : x=2+5j
Activité : Taper et exécuter le code suivant
print(complex(4,2)) #4+2j
print(10+8j) #(10+8j)
print(1j) #1j
x=2+5j
print(x) #(2+5j)

PROF. Yassine Ben Salah 32


I- Les structures de données
I.2 Les types de données

b. Les opérateurs sur les complexes :


 Addition
 Soustraction
 Multiplication
 Division
 Puissance
 Etc…
N.B. :
 Pour extraire la partie réelle d’un nombre complexe on utilise la
notation : nom_variable.real
 Pour extraire la partie imaginaire d’un nombre complexe on
utilise la notation : nom_variable.imag
 Le module cmath fournit des fonctions pour les nombres
complexes.
from cmath import *

PROF. Yassine Ben Salah 33


I- Les structures de données
I.2 Les types de données
Activité : Taper et exécuter le code suivant
#Opérations sur les nombres complexes
print(complex(3,6)) #3+6j
x=complex(0,1)
print(x) #1j
x=2+5j
print(x.real) #2.0
print(x.imag) #5.0
print((2+3j) + (4-7j)) #Addition (6-4j)
a=complex(2,3)
b=complex(4,3)
print(a+b) #Addition (6+6j)
print(a-b) #Soustraction (-2+0j)
print(a*b) #Multiplication (-1+18j)
print(a/b) #Division (0.68+0.24j)
print(a**b) #Puissane
#(0.6672388935174383+8.834580067267249j)

PROF. Yassine Ben Salah 34


I- Les structures de données
I.2 Les types de données

4.Le type booléen (bool) :


a. Définition :
Une variable de type bool peut prendre soit la valeur True
(vrai) ou False (faux)
Activité : Taper et exécuter le code suivant
#x=true Erreur
#y=false Erreur
#print(type(x))
#print(type(y))
x=True
y= False
print(type(x)) #<class ‘bool'>
print(type(y)) #<class ‘bool'>
N.B. On utilise True et False

PROF. Yassine Ben Salah 35


I- Les structures de données
I.2 Les types de données

b. Les opérateurs sur les booléens :

PROF. Yassine Ben Salah 36


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

print(not(2<1)) #True
print((5>3) and (1==2)) #False
print((7==8)or(4!=3)) #True

PROF. Yassine Ben Salah 37


I- Les structures de données
I.2 Les types de données

5.Le type chaîne de caractères (str) :


a. Définition :
Une variable de type str et un objet qui peut prendre une suite de
caractères
En python une chaîne de caractères est définit entre deux
apostrophes ou deux guillemets

PROF. Yassine Ben Salah 38


I- Les structures de données
I.2 Les types de données
Activité : Taper et exécuter le code suivant

s1 = 'Salut mes collègues'


s2 = 'Aujourd\'hui' # séquence d'échappement \

#La séquence d'échappement \n représente un saut ligne :


s3 = 'Première ligne\nDeuxième ligne'
print (s1)
print (type(s1))
print(s2)
print(s3)

PROF. Yassine Ben Salah 39


I- Les structures de données
I.2 Les types de données

b- Formatage de chaîne :
À chaque expression précédée d’un %, appelé marqueur de formatage, doit
correspondre une valeur de formatage

L’expression est de la forme %[P]c, où c est un caractère qui détermine le


type de valeur et P un éventuel paramètre supplémentaire, indiquant la
précision à utiliser pour la valeur à formater.

La précision est représentée par un entier préfixé par un point, qui


spécifie le nombre de chiffres significatifs après la virgule.

PROF. Yassine Ben Salah 40


I- Les structures de données
I.2 Les types de données
Exemples de caractères de formatage :
 %d : entier;
 %f ou F% : réel ;
 %c : un seul caractère (sous la forme d’un string ou d’un entier) ;
 %s : renvoie le résultat de la primitive str() ;
 %o : octal non signé ;
 %u : décimal non signé ;
 %x ou %X : valeur hexadécimale, préfixée respectivement par 0x ou 0X ;
 %e ou %E : valeur à virgule flottante, de la forme xev ou xEv ;

PROF. Yassine Ben Salah 41


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

print('%.2f dinars' %2.394765) # 2.39 dinars


print('%E dinars' %2.394765) #2.394765E+00 dinars
print('%s dinars' %'2.394') #2.394 dinars
print('%d dinars' %2.394) #2 dinars
print ("Mon Prénom est %s j'ai %d ans !" % ('Anis', 22)) #Mon Prénom est Anis j'ai 22 ans !

PROF. Yassine Ben Salah 42


I- Les structures de données
I.2 Les types de données

c. Accès aux éléments d'une chaîne :


Python offre des mécanismes permettant d’accéder séparément à chacun
des caractères d’une chaîne,
L’accès aux caractères se fait par index

PROF. Yassine Ben Salah 43


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant

# Accès avec index


s1 = "Salut mes collègues“
print(s1[0]) #S
print(s1[3]) #u
print(s1[-1]) #s
print(s1[-5]) #è
print(s1[1:10]) # alut mes :slicing
s1[0]='C' #Erreur

PROF. Yassine Ben Salah 44


I- Les structures de données
I.2 Les types de données

d. Les opérations sur les chaînes de caractères : Helper


Les chaînes de caractères disposent de nombreuses fonctionnalités
appelées « méthodes » en POO (Programmation Orientée Objet) facilitant leur

manipulation

dir(str) # Liste toutes les méthodes des chaînes

PROF. Yassine Ben Salah 45


I- Les structures de données
I.2 Les types de données

Exemples d’opérations sur les chaînes de caractères :

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

PROF. Yassine Ben Salah 46


I- Les structures de données
I.2 Les types de données

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

PROF. Yassine Ben Salah 47


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant


s1 = "Salut mes collègues"
s2 = " La vie "
s3 = "est "
s4 = "belle"
print('Opérations sur les chaînes : Helper')
s5 = s2 + s3 + s4 # + permet la concaténation des chaînes s2, s3 et s4
s6 = s2 * 3 # * permet la répétition de s2 3 fois
print(s5)
print(s6)
print(len(s1)) #Retourne le nombre de caractères de s1
print(s2.strip()) #Enlève les espaces en début et enfin de la chaîne s2
print(len(s2))
print(len(s2.strip()))
print(s1.lower()) #Mettre tous les caractères de s1 en minuscules
print (s1.upper()) #Mettre tous les caractères de s1 en majuscules
print (s3.isupper()) #Vérifier si tous les caractères de s3 sont en majuscules

PROF. Yassine Ben Salah 48


I- Les structures de données
I.2 Les types de données

Activité : Taper et exécuter le code suivant


s1 = "Salut mes collègues"
s2 = " La vie "
s3 = "Salut, mes amis, ça roule?"

print('Opérations sur les chaînes : Helper')


print(s1.find('mes')) #Retourne la position de ‘mes’ dans s1
print(s1.count('es')) #Retourne le nombre d'occurrence de ‘es’ dans s1
print (s1.replace("u", "w", 1)) #Remplacer le 1 premier occurrence de ‘u’ par ‘w’
print(s3.split(",")) #permet de créer une liste à partir de s3, ici le "," est le séparateur
print(s3.split(" "))
print(max(s2)) #Retourne le caractère max de s2
print(min(s2)) #Retourne le caractère min de s2
print("?" in s3) #vérifier si "?"existe ou non dans s3
print("mes" not in s1) #vérifier si "mes" n'existe pas dans s1

N.B. : in / not in : sont deux opérateurs d'appartenance pour les


séquences (chaînes, listes, …)

PROF. Yassine Ben Salah 49


I- Les structures de données
I.2 Les types de données

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

PROF. Yassine Ben Salah 50


I- Les structures de données
I.2 Les types de données

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)

PROF. Yassine Ben Salah 51


I- Les structures de données
I.2 Les types de données

Activité : On se propose d’écrire un code en python qui permet la


permutation des valeurs des variables a=15 et b=20
Taper et exécuter le code suivant

a=15
b=20
a,b=b,a
print(a) #20
print(b) #15

PROF. Yassine Ben Salah 52


I- Les structures de données
I.2 Les types de données
Remarque : Cast en python
Transtyper ou cast (en anglais) une variable : c’est-à-dire convertir une variable
d'un type à un autre
Activité : Taper et exécuter le code suivant
x=5
print('le type de x est : ')
print(type(x))
x=str(x) #str permet de transformer le type entier en string
print('le type de x est devenu : ')
print(type(x))
N.B. :
• Nom_var=str(Nom_var): permet de transformer une variable de type entier ou réel en
une chaîne
• Nom_var=int(Nom_var) : permet de convertir une variable de type chaîne ou réel en
entier
• Nom_var=float(Nom_var) : permet de convertir une variable de type chaîne ou
entier en réel

PROF. Yassine Ben Salah 53


II- Les Entrées –Sorties en Python

L’utilisateur à besoin d’interagir avec le programme. En mode « console »


(on abordera les interfaces graphiques ultérieurement), on doit pouvoir saisir
ou entrer des informations, ce qui est généralement fait depuis une lecture
au clavier. Inversement, on doit pouvoir afficher ou sortir des informations,
ce qui correspond généralement à une écriture sur l’écran.

Entrée Sortie

PROF. Yassine Ben Salah 54


II- Les Entrées –Sorties en Python
II.1 Les entrées
La fonction input() effectue toujours une saisie en mode texte (la
valeur retournée est une chaîne) dont on peut ensuite changer le type
(on dit aussi « transtyper » ou cast en anglais)
Activité : Taper et exécuter le code suivant
f1=input("Entrez un flottant : ")
print(type(f1)) #<class ’str’>
f2=float(input("Entrez un autre flottant : "))
print(type(f2)) #<class ’float’>
x=input("Entrez un entier : ")
print(type(x)) #<class ’str’>
x=int(input("Entrez un entier : "))
print(type(x)) #<class ’int’>
y=int(input("Entrez un entier : ")) + 1

PROF. Yassine Ben Salah 55


II- Les Entrées –Sorties en Python
II.2 Les sorties
La fonction print() permet d’afficher ou sortir des informations
sur écran
Activité : Taper et exécuter le code suivant

a=float(input("Entrez un flottant : "))


b=int(input("Entrez un entier : "))
print("La somme de ",a," + ", b, " = ",a+b)
y=int(input("Entrez un entier : ")) + 1
print(y)
#Pour afficher par exemple ‘@’ en fin de ligne on utilise end="@"
print(y, end="@")

PROF. Yassine Ben Salah 56


II- Les Entrées –Sorties en Python
II.2 Les sorties
N.B. : Les séquences d’échappement
À l’intérieur d’une chaîne, le caractère antislash (\) permet de donner
une signification spéciale à certaines séquences de caractères :

PROF. Yassine Ben Salah 57


III- Les structures conditionnelles en Python

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)

PROF. Yassine Ben Salah 58


III- Les structures conditionnelles en Python
III.1. La Forme simple réduite

a. Définition:

Une structure de contrôle conditionnelle est dite à


forme simple réduite lorsque le traitement dépend
d’une condition. Si la condition est évaluée à Vrai, le
traitement sera exécuté

PROF. Yassine Ben Salah 59


III- Les structures conditionnelles en Python
III.1. La Forme simple réduite

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.

PROF. Yassine Ben Salah 60


III- Les structures conditionnelles en Python
III.1. La Forme simple réduite

Activité : Taper et exécuter le code suivant

ph=6.0
if ph<7.0:
print("C’est un acide.")

if ph>7.0:
print("C’est une base.")

PROF. Yassine Ben Salah 61


III- Les structures conditionnelles en Python
III.2 La Forme complète

a. Définition :

Une structure de contrôle conditionnelle à forme complète, si suivant la


valeur d’une condition, on exécute soit le traitement 1 soit le traitement 2
Si la condition est évaluée à Vraie, alors le traitement 1 est exécuté,
dans le cas contraire le traitement 2 est exécuté

PROF. Yassine Ben Salah 62


III- Les structures conditionnelles en Python
III.2 La Forme complète

b. Syntaxe

if condition : (: représente la fin de la condition)


____traitement1
else :
____traitement2 ou bien pass
#Retour à la ligne sans indentation

PROF. Yassine Ben Salah 63


III- Les structures conditionnelles en Python
III.2 La Forme complète

Activité : Taper et exécuter le code suivant

n=5
if n<=0:
print(n, 'est négatif ou nul')
else:
print(n,'est positif')

PROF. Yassine Ben Salah 64


III- Les structures conditionnelles en Python
III.3 La Forme généralisée

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

PROF. Yassine Ben Salah 65


III- Les structures conditionnelles en Python
III.3 La Forme généralisée

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)

PROF. Yassine Ben Salah 66


III- Les structures conditionnelles en Python
III.3 La Forme généralisée

Activité : Taper et exécuter le code suivant

abonnes = 100
if abonnes > 100:
print('Vous continuez avec youtube')
elif abonnes > 50:
print('Faites un autre effort')
else:
print('Arrêtez avec youtube')

PROF. Yassine Ben Salah 67


III- Les structures conditionnelles en Python
Applications :

Application : (Parité d’un nombre)


Ecrire un code en Python qui permet de lire un
nombre et vérifier s’il est pair ou impair.
S'il est pair, calculer son carré, s'il est impair calculer
son cube

PROF. Yassine Ben Salah 68


III- Les structures conditionnelles en Python
Applications :

Solution : Taper et exécuter le code suivant

Nb=int(input('Saisir un nombre : '))


print(type(Nb))
if (Nb % 2 == 0):
print(Nb ** 2)
else:
print(Nb ** 3)

PROF. Yassine Ben Salah 69


III- Les structures conditionnelles en Python
Applications :

Application : (concours de mannequins)


Ecrire un code en Python qui permet d’afficher le résultat d’un concours de
mannequin :
 Si le candidat est un homme :
 S’il possède une taille entre 80 et 140 cm, il n'est pas accepté,
 S’il possède une taille entre 140 et 170 cm, on a pas encore décidé
 S’il possède une taille entre 170 et 200 cm, donc il est accepté
 Si le candidat est une femme :
 Si elle possède une taille entre 60 et 120 cm, elle n'est pas
acceptée,
 Si elle possède une taille entre 120 et 150 cm, on a pas encore
décidé
 Si elle possède une taille une taille plus de 150 cm, donc elle est
acceptée

PROF. Yassine Ben Salah 70


III- Les structures conditionnelles en Python
Applications :

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

PROF. Yassine Ben Salah 71


IV- Les structures itératives en Python : Les boucles

On doit utiliser une boucle pour répéter une ou plusieurs


instructions
Python propose deux sortes de boucles :
 La boucle for
 La boucle while

PROF. Yassine Ben Salah 72


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

a- Définition :
La boucle For permet de répéter une ou plusieurs instructions
un nombre fini de fois connu à l'avance

PROF. Yassine Ben Salah 73


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

b- Syntaxe :
Condition

for compteur in sequence :


_____traitement
else:
_____traitement
#Retour à la ligne sans indentation
N.B. :
• Les éléments de la séquence sont issus d’une chaîne de caractères, d’une
liste, …
• Le compteur prend successivement la valeur de chaque élément de la
séquence, en commençant par le premier
• Lorsque l’exécution est achevée, un traitement optionnel présenté par
else est à son tour exécuté.
PROF. Yassine Ben Salah 74
IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Activité : Taper et exécuter le code suivant

for lettre in "ciao": #la séquence est une chaîne


print(lettre)
else:
print("Fin")
Exécution :
c
i
a
o
Fin
>>>

PROF. Yassine Ben Salah 75


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Activité : Taper et exécuter le code suivant

for x in [2, 'a', 3.14]: #La séquence est une liste


print(x)

Exécution :
2
a
3.14
>>>

PROF. Yassine Ben Salah 76


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Autre Syntaxe : Utilisation de range()

for compteur in range (Bor_inf, Bor_sup, Pas) :


_____traitement
#Retour à la ligne sans indentation

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

PROF. Yassine Ben Salah 77


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Activité : Taper et exécuter le code suivant

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

PROF. Yassine Ben Salah 78


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Ou bien :

for compteur in range (nombre_répétition) :


_____traitement
#Retour à la ligne sans indentation

PROF. Yassine Ben Salah 79


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Activité : Taper et exécuter le code suivant

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

PROF. Yassine Ben Salah 80


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Application :

Ecrire un code en Python qui permet de lire une


chaîne ch, et d’afficher les voyelles qui existe dans
cette chaîne ch ainsi que leur nombre.

PROF. Yassine Ben Salah 81


IV- Les structures itératives en Python : Les boucles
IV.1 La boucle for

Solution : Taper et exécuter le code suivant

ch=input('Saisir une châine : ')


nbvoy=0 #initialisation
For i in ch :
if i in 'aeiouy‘ :
print(i) #Affichage des voyelles
nbvoy=nbvoy+1 #incrémentation
print('Le nombre de voyelles dans',ch,' = ',nbvoy)

PROF. Yassine Ben Salah 82


IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while

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

PROF. Yassine Ben Salah 83


IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while

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

PROF. Yassine Ben Salah 84


IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while

Activité : Taper et exécuter le code suivant


i=0
while i < 4:
print(str(i))
i += 1
else:
print('end')

Exécution :
0
1
2
3
end
>>>

PROF. Yassine Ben Salah 85


IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while

Activité : Taper et exécuter le code suivant


#saisie filtrée ou contrôlée
n = int(input('Entrez un entier entre [1 .. 10] : '))
while not(1 <= n <= 10) :
n = int(input('Entrez un entier entre [1 .. 10], S.V.P. : '))
else :
print('Bravo')

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

PROF. Yassine Ben Salah 86


IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while

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

PROF. Yassine Ben Salah 87


IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while

Solution : Taper et exécuter le code suivant

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)

PROF. Yassine Ben Salah 88


IV- Les structures itératives en Python : Les boucles
IV.3 Les boucles imbriquées

Activité : Taper et exécuter le code suivant


#Les boucles imbriquées :
for i in range(4):
for j in range(3):
print(i,j)
Exécution :
00
01
02
10
11
12
20
21
22
30
31
32
>>>

PROF. Yassine Ben Salah 89


IV- Les structures itératives en Python : Les boucles
IV.4 Contrôle de boucle (break, continue)

 break : permet d'arrêter (interrompre) et sortir de la boucle


Activité : Taper et exécuter le code suivant
secret=50
for i in range(10000):
if i==secret:
print(i)
break # Arrêt de la boucle

Exécution :

50
>>>

PROF. Yassine Ben Salah 90


IV- Les structures itératives en Python : Les boucles
IV.4 Contrôle de boucle (break, continue)

 continue : permet d'arrêter (interrompre) l'itération courante et passe


à l'itération suivante
Activité : Taper et exécuter le code suivant
for i in range(5):
if i==2:
continue # Arrêter l’itération courante et passer à l’itération suivante
print(i)
Exécution :
0
1
3
4
>>>

PROF. Yassine Ben Salah 91


V- Le graphique avec Python
Module turtle

Le module turtle permet de déplacer un point dans un espace


2D (ce point est souvent vu comme une tortue), et ainsi de
réaliser des dessins.
Afin de pouvoir utiliser ce module, il faut appeler le module en
utilisant la ligne suivante :

from turtle import *

N.B. : Le module turtle s'appuie sur le module tkinter (Tkinter pour


les versions de python antérieures à 3)

PROF. Yassine Ben Salah 92


V- Le graphique avec Python
Module turtle

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é

PROF. Yassine Ben Salah 93


V- Le graphique avec Python
Module turtle

 circle(rayon, angle) : dessiner un cercle de rayon donné, l’angle de


l’arc de cercle est facultatif. (par défaut 360, soit un cercle complet)
 write(''texte'') : écrire un texte
 color(''couleur'') ou bien pencolor(‘couleur’) : définir la couleur du
trait (par défaut la couleur du tracé est noire)
 bgcolor(''couleur'') : définir la couleur de fond de la fenêtre
 fillcolor(''couleur'') : définir la couleur de remplissage d’une forme
 begin_fill() ou bien fill(1) : Remplir un contour fermé à l'aide de la
couleur sélectionnée (on termine la construction par end_fill() ou bien
fill(0))
 reset() : effacer tout
 done() : arrêter le dessin
 title (‘titre’) : Donne un titre à la fenêtre (par défaut le titre est Turtle
Graphics)
 hideturtle() : Cacher le pointeur de la tortue

PROF. Yassine Ben Salah 94


V- Le graphique avec Python
Module turtle

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é

PROF. Yassine Ben Salah 95


V- Le graphique avec Python
Module turtle

Activité : création deux segments perpendiculaires


Ce dessin est composé de deux segments perpendiculaires :
 Le premier segment est de couleur noir, d’épaisseur 3 et de
taille 120,
 le deuxième segment est perpendiculaire au premier segment,
d’épaisseur 2, de couleur vert et de taille 80
(La Vitesse de la tortue est 'slowest‘)

Tourne vers la Tourne vers la


gauche droite

PROF. Yassine Ben Salah 96


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

from turtle import *


speed('slowest') #Vitesse de la tortue est 'slowest'
width(3) #l‘épaisseur du trait = 3
forward(120) #avance de 120
width(2) #l‘épaisseur du trait = 2
color('green') #changer la couleur du trait en vert
left(90) #tourne vers la gauche de 90 degrés
#right(90) #tourne vers la droite de 90 degrés
forward(80) #avance de 80
done() #arrête le dessin

PROF. Yassine Ben Salah 97


V- Le graphique avec Python
Module turtle

Activité : création d’un rectangle


Ce dessin est composé de quatre segments perpendiculaires, égaux
deux à deux (120 et 80)
Chaque segment est de couleur vert et d’épaisseur 3.
Créer ce rectangle

PROF. Yassine Ben Salah 98


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d'un rectangle


from turtle import *
pensize(3) #l‘épaisseur du trait = 3
color('green') #changer la couleur du trait en vert
forward(120) #avancement d'une distance = 120
left(90) #tourne vers la gauche de 90 degrés
forward(80) #avancement d'une distance = 80
left(90) #tourne vers la gauche de 90 degrés
forward(120) #avancement d'une distance = 120
left(90) #tourne vers la gauche de 90 degrés
forward(80) #avancement d'une distance = 80

PROF. Yassine Ben Salah 99


V- Le graphique avec Python
Module turtle

Activité : création d’un rectangle coloré en utilisant une boucle


Créer un rectangle de dimension (120 * 80)
 Le fond du fenêtre est de couleur noir
 Chaque segment est de couleur bleu et d’épaisseur 3.
 Le rectangle est coloré en blanc
 Le titre du fenêtre est Rectangle
Créer ce rectangle en utilisant une boucle

PROF. Yassine Ben Salah 100


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant


#Création d'un rectangle (en utilisant une boucle)
from turtle import *
pensize(3) #l‘épaisseur du trait = 3
bgcolor(‘black') #couleur de fond du fenêtre est noire
color(‘blue') #couleur du trait est bleu
fillcolor(‘white') #couleur de remplissage est blanc
begin_fill() #démarre le remplissage
for i in range(2): #Boucle for : Répétition deux fois
forward(120) #avancement d'une distance = 120
left(90) #tourne vers la gauche de 90 degrés
forward(80) #avancement d'une distance = 80
left(90) #tourne vers la gauche de 90 degrés
end_fill() #fin de remplissage
title ("Rectangle") #Titre du fenêtre

PROF. Yassine Ben Salah 101


V- Le graphique avec Python
Module turtle

Activité : création d’un carré


Ce dessin est composé de quatre segments égaux perpendiculaires,
Chaque segment est de couleur bleu, d’épaisseur 3 et de taille 100.
En utilisant une boucle, créer ce carré.

PROF. Yassine Ben Salah 102


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d'un carré


from turtle import *
color("blue") #couleur du tracé bleu
pensize(3) #Epaisseur = 3
for i in range(4) : #Boucle for (répétition 4 fois), 4 segments
forward(100) # distance=100
right(90) # tourner à droite d’angle 90 degrés

PROF. Yassine Ben Salah 103


V- Le graphique avec Python
Module turtle

Activité : création d’un pentagone :


Ce dessin est composé de cinq segments égaux
Chaque segment est de couleur violet, d’épaisseur 5 et de taille 100 et
d’angle=72°.
En utilisant une boucle, créer ce polygone (pentagone).

PROF. Yassine Ben Salah 104


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d'un polygone


from turtle import *
color('purple') #Couleur du tracé est violet
width(5) #Epaisseur du tracé = 5
i=0 #initialisation du compteur
while i < 5: #boucle while : (répétition 5 fois)
forward(100) #Avancement d'une distance = 100
left(72) #Tourne à gauche (Angle = 72°)
i += 1 #incrémentation du compteur
done() #Arrêter le dessin

PROF. Yassine Ben Salah 105


V- Le graphique avec Python
Module turtle

Activité : création des formes au choix


Ce dessin est composé d’un nombre donné de segments égaux,
chaque segment est de couleur rouge, d’épaisseur 4 et de taille 100.
En utilisant une boucle, créer ce dessin : Exemple de formes :
Forme à 3 Segments Forme à 6 Segments Forme à 8 Segments
Triangle équilatéral Hexagone Octogone

PROF. Yassine Ben Salah 106


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

# Création des formes au choix (Entrer le nombre de segments)


from turtle import *
color("red")
pensize(4)
x = int (input('Donner le nombre de segments : '))
for i in range(x) : #Répétition x fois (x représente le nombre de segments)

forward(100) #Avancement d'une distance = 100

left(360/x) #L'angle = 360 / nombre de segments donné

PROF. Yassine Ben Salah 107


V- Le graphique avec Python
Module turtle

Activité : création de labyrinthe


Ce labyrinthe est constitué de 25 segments, chaque segment est de
couleur noir, d’épaisseur 3
Chaque segment avance d’une distance égale à la distance du
segment précédent + 10, et faire un tour à gauche de 90 degrés
En utilisant une boucle, créer ce labyrinthe.

PROF. Yassine Ben Salah 108


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d’un labyrinthe


from turtle import *
color("black") #couleur du trait : noir
pensize(3) #Epaisseur : 3
x = 25 #Nombre de segments
d=0 #initialisation
for i in range(x) : #Boucle : 25 segments
d=d+10 #distance = distance du segment précedent +10
forward(d) #Avancement d'une distance d
left(90) #Tourner à gauche de 90°

PROF. Yassine Ben Salah 109


V- Le graphique avec Python
Module turtle

Activité : création d’une étoile


Ce dessin est composé de 5 segments égaux d’angle 144, Chaque
segment est de couleur rouge, d’épaisseur 3 et de taille 75.
En utilisant une boucle, créer cette étoile.

PROF. Yassine Ben Salah 110


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

# Création d'une étoile


from turtle import *
color("red") #couleur du tracé : rouge
pensize(3) #Epaisseur : 3
x=5 #Nombre de segments
for i in range(x) : #Répétition 5 fois (5 segments d'une étoile)
forward(75) #Avancement d’une distance = 75
right(144) #Tourner à droite d'angle = 144

PROF. Yassine Ben Salah 111


V- Le graphique avec Python
Module turtle

Activité : création d’un dessin


Ce dessin est composé de 20 segments, chaque segment est de couleur
vert, d’épaisseur 3
Chaque segment avance d’une distance égale à la distance du segment
précédent + 10 et faire un tour à droite de 144 degrés
En utilisant une boucle, créer cette forme.

PROF. Yassine Ben Salah 112


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

from turtle import *


color("green") #Couleur : vert
pensize(3) #Epaisseur : 3
x = 20 #Nombre de segments : 20
d=0 #Initialisation
for i in range(x) : #Boucle : 20 segments
d=d+10 #distance = distance du segment précèdent +10
forward(d) #Avancement d'une distance d
right(144) #Tourner à droite de 144°

PROF. Yassine Ben Salah 113


V- Le graphique avec Python
Module turtle

Activité : création d’un cercle


Créer un cercle de couleur jaune, d’épaisseur de tracé = 10, et de
rayon = 40

PROF. Yassine Ben Salah 114


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d’un cercle


from turtle import *
pensize(10) #Epaisseur = 10
color('yellow') #Couleur = 'jaune'
circle(40) #Cercle de rayon = 40

PROF. Yassine Ben Salah 115


V- Le graphique avec Python
Module turtle

Activité : création d’un demi cercle de coloré fond


Créer un demi cercle de fond bleu, d’épaisseur de tracé = 5, et de
rayon = 60

PROF. Yassine Ben Salah 116


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d'un Demi cercle de fond coloré


from turtle import *
pensize(5) #Epaisseur = 10
color('blue') #Couleur = 'bleu'
#left(270) #Tourner à gauche d'angle 90, 180, ou bien 270
begin_fill() #démarrage de remplissage
circle(60, 180) #Cercle de rayon = 60, 180 = 360 / 2 (Demi cercle)
end_fill() #fin de remplissage

PROF. Yassine Ben Salah 117


V- Le graphique avec Python
Module turtle

Activité : création d’une forme de 5 cercles : V1


Créer une forme composée de 5 cercle de couleur jaune, d’épaisseur
de tracé = 4, et de rayon = 75, en commençant par le point de
coordonnées (50,60) puis en ce déplaçant l’abscisse à une distance = 40
et ainsi de suite
En utilisant une boucle, créer cette forme.

PROF. Yassine Ben Salah 118


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d’une forme composé de 5 cercles


from turtle import *
pensize(4) #Epaisseur = 4
color('yellow') #Couleur = 'jaune'
x=50 #Abscisse
y=60 #Ordonnée
penup() #Relever le crayon (avancer sans dessiner)
for i in range(5): #Boucles : 5 cercles
goto(x,y) #se déplacer vers le point de coordonnées (x,y)
down() #Abaisser le crayon (recommencer à dessiner)
circle(75) #cercle de rayon = 75
x=x+40 #Avancement de l'abscisse

PROF. Yassine Ben Salah 119


V- Le graphique avec Python
Module turtle

Activité : création d’une forme de 5 cercles : V2


Créer une forme composée de 5 cercle de couleur bleu, d’épaisseur de
tracé = 6, et de rayon = 40, en commençant par le point de coordonnées
(0,0) puis en ce déplaçant l’abscisse à une distance = 50 et ainsi de suite
En utilisant une boucle, créer cette forme.

PROF. Yassine Ben Salah 120


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant

#Création d’une forme composé de 5 cercles V2


from turtle import *
pensize(6) # Epaisseur : 6
color('blue') # Couleur du trace : bleu
for i in range(0,250,50): #Boucle, 5 cercles, incrémentation = 50
penup() #avancer sans dessiner
goto(i,0) #se déplacer vers le point de coordonnées (x,y)
pendown() # recommencer à dessiner
circle(40) #cercle de rayon = 40

PROF. Yassine Ben Salah 121


V- Le graphique avec Python
Module turtle

Activité : Création de créneaux :


 Chaque segment est composé de 6 créneaux
 Les créneaux ont un côté de longueur 10.
Vous pouvez utiliser deux boucles imbriquées pour créer cette forme

PROF. Yassine Ben Salah 122


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant


#Création de créneaux
from turtle import *
speed('fast') #La vitesse est rapide
pensize(5) #épaisseur 5
color('green') #couleur : vert
for i in range(4) : #boucle for : 4 segments
for j in range(6) : #boucle for 6 créneaux
forward(10) #Avancement de 10
right(90) #tourner à droite 90°
forward(10) #Avancement de 10
left(90) #tourner à gauche 90°
forward(10) #Avancement de 10
left(90) #tourner à gauche 90°
forward(10) #Avancement de 10
right(90) #tourner à droite 90°
forward(10) #Avancement de 10
left(90) #tourner à gauche 90°

PROF. Yassine Ben Salah 123


V- Le graphique avec Python
Module turtle

Activité : créer le dessin suivant :

Pour obtenir ce dessin, on peut observer qu'il est constitué de


11 segments égaux (dimension = 150), chaque segment tourne
à gauche par rapport au segment précédent et fait un angle de
150°
En utilisant une boucle, créer cette forme

PROF. Yassine Ben Salah 124


V- Le graphique avec Pythn
Module turtle

Solution : Taper et exécuter le code suivant

from turtle import*


width(4) #Epaisseur : 4
color('yellow') #Couleur du trace: jaune
fillcolor('red') #Couleur du remplissage : rouge
begin_fill() #Démarrage de remplissage
a=0 #Initialisation
while a<12: #boucle while : 11 segments
a=a+1 #Incrémentation
forward(150) #Avancement de 150 pixels
left(150) #Tourner à gauche de 150°
end_fill() #Fin de remplissage

PROF. Yassine Ben Salah 125


V- Le graphique avec Python
Module turtle

Activité : créer le dessin suivant :

ce dessin est constitué de 36 cercles de même rayon (80 dans


notre cas), avec un décalage à gauche de 10 degrés entre deux
cercles successifs.
En utilisant une boucle, créer cette forme

PROF. Yassine Ben Salah 126


V- Le graphique avec Pythn
Module turtle

Solution : Taper et exécuter le code suivant

from turtle import *


pensize(4) #Epaisseur
#color(‘black') #Couleur du tracé : noire
for i in range(36): #boucle : 36 cercles
for col in ['blue', 'yellow']: #boucle : liste : couleur, ['blue', 'yellow']
color(col) #couleur
penup() # lever le crayon
left(10) #tourner à gauche de 10°
pendown() #Abaisser le crayon
circle(80) #cercle de rayon 80

PROF. Yassine Ben Salah 127


V- Le graphique avec Python
Module turtle

Activité : création du drapeau de la Tunisie


Le drapeau de la Tunisie est composé d’un rectangle de fond rouge,
d’un cercle de fond blanc et à l’intérieur du cercle, on trouve un croissant et
un étoile de fond rouge

PROF. Yassine Ben Salah 128


V- Le graphique avec Python
Module turtle

Solution : Taper et exécuter le code suivant


#Drapeau de la Tunisie
from turtle import *
hideturtle() #Cacher le pointeur de la tortue
#Création du Rectangle
up() #relever le crayon
goto(-200,-100) #déplacer le pointeur
down() #Abaisser le crayon
color('red')
width(5)
#fillcolor('red')
begin_fill()
i=0
while i < 2 :
forward(400)
left(90)
forward(300)
left(90)
i=i+1
end_fill()

PROF. Yassine Ben Salah 129


V- Le graphique avec Python
Module turtle

#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()

#Création du croissant en utilisant deux cercles (rouge et blanc) ey de rayons différents


#Cercle 2
up()
goto(10,-10)
pensize(5) #Epaisseur = 5
color('red') #Couleur = 'rouge'
begin_fill()
down()
circle(60) #Cercle de rayon = 60
end_fill()

PROF. Yassine Ben Salah 130


V- Le graphique avec Python
Module turtle

#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()

PROF. Yassine Ben Salah 131

Vous aimerez peut-être aussi