Académique Documents
Professionnel Documents
Culture Documents
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
BARHOUMI NAWRESS
Email : Nawressbarhoumigf@gmail.com
1
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
• Python a été conçu à la fin des années 1980 [42] par Guido van Rossum au Centrum Wiskunde &
Informatica (CWI) aux Pays- Bas pour succéder au langage de programmation ABC , inspiré
de SETL , [43] capable de gérer les exceptions et de s'interfacer avec le système
d'exploitation Amoeba .
• Commencé en décembre 1989. [44] Van Rossum a assumé l'entière responsabilité du projet, en tant
que développeur principal, jusqu'au 12 juillet 2018, date à laquelle il a annoncé ses "vacances
permanentes" de ses responsabilités de " dictateur bienveillant à vie " de Python."
• La fin de vie de Python 2.7 a été initialement fixée à 2015, puis reportée à 2020 par crainte qu'un
grand nombre de codes existants ne puissent pas être facilement transférés vers Python 3
• En 2022, Python 3.10.4 et 3.9.12 ont été accélérés, tout comme les versions plus anciennes,
notamment 3.8.13 et 3.7.13, en raison de nombreux problèmes de sécurité.
Pendant les cours et TP, vous aurez deux manières de programmer en Python :
❖ Soit en utilisant l’interpréteur de com- mandes (en exécutant la commande Python depuis un terminal) et en
saisissant vos programmes dans un éditeurde texte de votre choix,
❖ Soit via l’outil IEP (Interactive Editor for Python - voir section 2) qui contient, dans la même interface, un
interpréteur de commandes et un éditeur de texte. La section 2.1 vous indique comment installer Python sur
votre machine personnelle et vous présente également l’interface graphique d’un outil (IDLE),
l’environnement de développement intégré pour le langage Python.
2
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
Pour exécuter un programme tapé dans un fichier (d’extension .py), il suffit de saisir la commande suivante dans un
terminal : python MonProgramme.py
Pour quitter l’interpréteur de commandes, il faut taper l’instruction exit() ou quit()
1. IDLE.
2. eric. ...
3. PyDev. ...
4. PyCharm. ...
5. Thonny. ...
6. Atom.
✓ Simplicité
✓ puissance
✓ communauté
Meilleurs langages de programmation en 2021 selon l’IEEE : Python leader pour la 5è année consécutive
3
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
https://www.youtube.com/watch?v=AOX3i3PDQ0s
✓ Windows
✓ Linux
✓ MacOS
4
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
>> Py –version
>> Quit() : utilisé pour quitter un programme python.
➢ Nous pouvons apprendre et utiliser le langage de programmation Python online sur le lien
suivant ‘’ https://my-learning.w3schools.com’’ ’’https://www.coursera.org/’’
‘’https://edx.org/’’ ‘’https://courspython.com/boucles.html’’ ‘’
https://python.doctor/’’
5
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
6
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
5**3=125 (5 ^3)
X=1 ; Affichage X ?
a=5 ; b=8
print(a+b)
print('la valeur de', a,'+',b,'est :',
a+b)
()';
1.3 Déclaration et initialisation de variables et types-------------------------------
*****************************************************************************
****************
print(type(mytuple))
NB :
• Les tuples sont utilisés pour stocker plusieurs éléments dans une seule variable.
mytuple = ("apple", "banana", "cherry")
• La float () méthode renvoie un nombre à virgule flottante à partir d'un nombre ou d'une chaîne.
• La int () méthode convertit toute chaîne, objet de type octet ou nombre en entier et renvoie.
• Les chaînes en python sont entourées soit de guillemets simples, soit de guillemets doubles.
'bonjour' est identique à "bonjour".
8
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
La boucle while, francisée en boucle tant que, est une structure de contrôle permettant d'exécuter un ensemble
d'instructions de façon répétée sur la base d'une condition booléenne.
En général, si on connaît avant de démarrer la boucle le nombre d’itérations à exécuter, on choisit une boucle for. Au
contraire, si la décision d’arrêter la boucle ne peut se faire que par un test, on choisit une
boucle while.
>>> a=0
while(a<12):
a=a+1
print(a, a**2,a**3)
>>> x=1
While x<10:
print("x valeur" ,x)
x= x*2
Print ("Fin")
NB :
✓ Utilisez if pour spécifier un bloc de code à exécuter, si une condition spécifiée est vraie.
✓ Utilisez else pour spécifier un bloc de code à exécuter, si la même condition est fausse.
✓ Utilisez else if pour spécifier une nouvelle condition à tester, si la première condition est
fausse.
9
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
Exemple 1 :
X=5
Y=10
If x>y:
Print(‘x supa y’)
Else :
Print(‘x inf a y’) Exécution du programme au lien suivant :
https://courspython.com/boucles.html
Exemple 2:
https://pythontutor.com/visualize.html#mode=display
X=5
Y=10
Z=2
If x>y:
Print(‘x supa y’)
Elif x<z:
Print(‘x inf z’)
Else :
Print(‘x inf a y’)
2.1 Listes
Manipulation des listes
Tapez chacune des insctructions suivantes (https://pythontutor.com/visualize.html#mode=edit) et observez le résultat.
10
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
12
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
2.2 Dictionnaire
❖ Le dictionnaire est une structure où l’on stocke des clés associées à des valeurs
3 Références et adresses
En python, tout est objet, y compris les valeurs. Les variables sont des références à des valeurs.
13
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
4 Fonctions
Lorsqu’une tâche doit être réalisée plusieurs fois par un programme avec seulement des paramètres différents, on
peut l’isoler au sein d’une fonction.
La syntaxe Python pour la définition d’une fonction est la suivante :
https://pythontutor.com/visualize.html#mode=display
14
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
def saluer(nom):
"""Cette fonction prend un nom en argument et affiche un message de salutation."""
print(f"Bonjour, {nom} ! Comment ça va ?")
# Appel de la fonction
saluer("Alice")
saluer("Bob")
• Nous avons défini une fonction nommée saluer qui prend un paramètre nom.
• À l'intérieur de la fonction, nous utilisons une f-string pour formater un message de salutation avec le nom donné.
• Ensuite, nous utilisons la fonction print pour afficher ce message à l'écran.
Enfin, nous appelons la fonction saluer deux fois avec deux noms différents, "Alice" et "Bob".
5. Classes/Objets Python
✓ Presque tout en Python est un objet, avec ses propriétés et ses méthodes.
✓ Une classe est comme un constructeur d'objets ou un "plan" pour créer des objets.
15
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
Exercice :
Ecrire un programme qui permet de saisir un nombre puis déterminer s’il appartient à un intervalle donné, sachant que
les extrémités de l’intervalle sont fixées par l’utilisateur.
https://www.programiz.com/python-programming/online-compiler/
a = int(input("saisir [a :"))
b = int(input("saisir b]:"))
val = int(input("saisir une valeur :"))
if a <= val <= b:
print(val, "appartient a l'intervalle [", a, ", ", b, "]")
else:
print(val, "n'appartient pas a l'intervalle [", a, ", ", b, "]")
Exercice :
Ecrire un programme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou
positif. Attention toutefois on ne doit pas calculer le produit des deux nombres.
a = int(input("saisir a : "))
b = int(input("saisir b : "))
if a > 0 and b > 0 or a < 0 and b < 0:
print("le produit est positif")
else:
print("le produit est négatif")
Exercice:
Exercice:
16
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
Soit une chaine de caractères, écrire un algorithme récursif permettant de déterminer sa longueur
https://developpement-informatique.com/article/102/exercices-corriges-de-recursivite-en-python--
serie-12
def longueur(ch):
if not ch:
return 0
else:
return 1+longueur(ch[1:])
ch = "Take It Easy"
print(longueur(ch))
17
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
Exercice:
Pour convertir un nombre entier positif N de la base décimale à la base binaire, il faut opérer par des divisions
successives du nombre N par 2. Les restes des divisions constituent la représentation binaire.
Écrire une fonction récursive « Binaire » permettant d’imprimer à l’écran la représentation binaire d’un
nombre N (voir exemple en face).
def binaire(N):
if N == 0:
return []
return binaire(N//2)+[N % 2]
print(binaire(13))
NB :L'instruction de retour Python est une instruction spéciale que vous pouvez utiliser dans une fonction ou une
méthode pour renvoyer le résultat de la fonction à l'appelant
Exercice:
Créez un programme qui crée et initialise un tableau, puis insère un élément à la position spécifiée dans ce tableau (de
0 à N-1).
Pour insérer un nouvel élément dans le tableau, déplacez les éléments de la position d'insertion donnée vers une
position vers la droite.
Données d'entrée
18
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
Données de sortie
• 357498
19
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
EXERCICE
Nombres complexes en Python
Conversion de nombres réels en nombre complexe Un nombre complexe est représenté par « x + yi ». Python convertit les
nombres réels x et y en complexes à l'aide de la fonction complexe(x,y). La partie réelle est accessible à l'aide de la fonction
real() et la partie imaginaire peut être représentée par image()
EXERCICE
Supposons que vous ayez une équation avec une sommation infinie comme celle-ci :
1
S = n =1
n2
Vous pouvez utiliser la bibliothèque SymPy pour représenter cette sommation en Python.
EXERCICE
Effectuez une recherche sur Internet dans le but d'écrire l'équation de l'erreur quadratique moyenne (MSE)
dans le domaine de l'intelligence artificielle. Essayez de l'écrire en Python
20
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
EXERCICE
Les équations du 1er degré
On admettra que les équations du premier degré s’écrivent sous la forme : ax+b=c.
Avec
L’équation est dite de premier degré car la plus grande puissance de l’inconnue x est 1.
L’équation ax2 + bx + c = 0 est une équation de degré 2. La plus grande puissance de x est 2.
▪ Si Δ< (si le discriminant est négatif), il n’y a pas de solution dans le domaine du réel.
EXERCICE
Implement an Extended Kalman Filter (EKF) to estimate the state of a nonlinear system in the presence of multivariate
Gaussian noises with zero mean.
Exercice
Une version simple (mais peu économique) de définir la fonction circle consiste à écrire
Exercice
À l'aide de la bibliothèque Tkinter Python, écrire un programme Python qui affiche une boîte de dialogue
demandant à l'utilisateur de saisir un entier N et de lui renvoyer son double 2*N en appuyant sur la touche
Entrée du clavier:
21
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE CARTHAGE
****
Faculté de Science de Bizerte
Département de Physique
BARHOUMI Nawress
Exercice
Ecrire un algorithme Python permettant d'inverser l'ordre des éléments d'une liste en utilisant la méthode reverse ().
Exemple si L = ['Java’, 'Python', 'PHP', 'C++'], l'algorithme renvoie la liste : ['C++', 'PHP', 'Python', 'Java']
Exercice
Ecrire un programme en python Tkinter qui affiche à l'utilisateur une fenêtre qui demande à l'utilisateur de
saisir son nom et de lui afficher un message de bienvenue :
Exercice
Écrivez un programme pour trouver un maximum entre trois nombres en utilisant une if-else ou if imbriquée.
22