Académique Documents
Professionnel Documents
Culture Documents
• Le langage Python
1
INF1563 – Programmation I - Prof. Daniel Yapi
Qu’est-ce que la programmation?
2
INF1563 – Programmation I
Un algorithme
il pleut?
non
sortir oui
3
fin INF1563 – Programmation I
Un autre algorithme:
deux entiers
A et B
A = B? non
oui
oui non
A>B?
PGCD: A
remplacer remplacer
A par A - B B par B - A
fin
4
INF1563 – Programmation I
PYTHON
C’est quoi Python?
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
5
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.
PORTABLE
PYTHON EST LANGAGE DE HAUT NIVEAU
Python est portable et multiplateforme
Python demande relativement peu de connaissance sur le
fonctionnement d’un ordinateur pour être utilisé; proche du langage
naturel
SOUS WINDOWS:
• Visitez : https://www.python.org/downloads/
•
9
Installez et commencez à coder !
SOUS UNIX:
Python est pré-installé sur la plupart des
systèmes Unix, y compris Linux et MAC OS X.
Autres référentiels :
• Google Python Style Guide
• The Best of the Best Practices (BOBP) Guide for Python
Autres IDE python
Limites de IDLE Python?
• Il n’est pas orienté projet Il devient lourd à gérer
• Il ne permet pas le versioning des packages
• Il ne permet pas l’exécution interactive ligne par ligne du script
12
INF1563 – Programmation I
Google Colaboratory
https://www.jetbrains.com/fr-fr/lp/devecosystem-2022/python/
https://www.jetbrains.com/fr-fr/lp/devecosystem-2022/python/
Le langage Python
15
INF1563 – Programmation I
Contenu et évaluation du cours
Contenu:
Chaines de caractères
Fichiers
concepts avancés: Gestion des erreurs
Fonctions récursives
concepts Collections
tests unitaires
intermédiaires:
16
INF1563 – Programmation I
Contenu et évaluation du cours
Examens:
Examen #2
Fonctions récursives
Collections
tests unitaires
INF1563 – Programmation I 17
Contenu et évaluation du cours
Examens:
• sur papier
• exercices de lecture de code (que fait ce programme?)
• exercices de résolution de problèmes / écriture de code
• vous aurez des exemples corrigés
18
INF1563 – Programmation I
INF1563 Programmation I
Résultats
2020-2021-2022
(Alan)
19
INF1563 – Programmation I
INF1563 Programmation I
Résultats
2020-2021-2022
(Alan)
20
INF1563 – Programmation I
INF1563 Programmation I
Introduction à Python: Concepts de base
Variable
Type
Affectations
Opérations de base
Expressions
Entrées –sorties de base
Chaines de caractères
Collections Fonctions récursives Fichiers
Gestion des erreurs
INF1563 – Programmation I
21
Introduction à python
Enregistrez vos données dans une variable
Qu’est-ce qu’une variable?
22
INF1563 – Programmation I
Nommage
Le nom des variables en Python peut être constitué de lettres minuscules (a à z), de lettres
majuscules (A à Z), de nombres (0 à 9) ou du caractère souligné (_).
Vous ne pouvez pas utiliser d’espace dans un nom de variable.
Par ailleurs, un nom de variable ne doit pas débuter par un chiffre et il n’est pas recommandé de
le faire débuter par le caractère _ (sauf cas très particuliers).
Éviter d’utiliser un mot « réservé » par Python comme nom de variable. Quelques noms
réservés:
Python est sensible à la casse, ce qui signifie que les variables TesT, test et TEST sont
différentes.
INF1563 – Programmation I 23
Modifier une variable par réaffectation/réassignation
INF1563 – Programmation I 24
Introduction à python
Règles
d’écritures
• La casse est significative
• Le typage des variables est dynamique
• Une instruction doit commencer en première colonne
• L’indentation est obligatoire pour marquer les blocks
• Si une instruction dépasse la taille d’une ligne, il est possible soit
d’écrire un caractère de continuation ou de mettre l’instruction
entre parenthèses
Exemple
if a == b and c == d and \ if (a == b and c == d and
d==e : d==e) :
print("ok ") print("ok ")
25
INF1563 – Programmation I
Les types de données
En Python on distingue deux sorte de types:
Les types simples
Le type entier (int)
Le type réel (float)
Le type booléen (bool)
Le type complexe (complex)
Les types composés
Le type chaine de caractères (str)
Le type liste (list)
Le type tuple (tuple)
Le type dictionnaire (dict)
......
26
INF1563 – Programmation I
Affectation et type
Opérations de base
• Affectation
27
INF1563 – Programmation I
Conversion entre types
• La conversion de types permet de passer d’un type à l’autre
• La règle générale est de se servir du nom du type avec des parenthèses
Syntaxe Sémantique
bool(var) Converti ’var’ en un booléen
int(var) Converti ’var’ en un entier
float(var) Converti ’var’ en un flottant
str(var) Converti ’var’ en une chaîne de caractères
• Exemple
INF1563 – Programmation I
Opérateurs mathématiques et logiques
• Opérateurs arithmétiques • Opérateurs logiques
x+y Addition not x Négation
x-y Soustraction x or y Ou-logique
x*y Multiplication x and y Et-logique
x/y Division
x // y Division entière •Exemples
print(3*2+1) ->
x%y Modulo
7
x ** y Puissance print( round(3.75))
print(3*(2+1)) -> -> 4
• Opérateurs relationnels print(round(3.75,1)
9 -> 3.8
x==y Egal print(3/5) -> 0.6
Print(3//5) -> 0
x!=y Différent
x<y Inférieur num_1 = 3
x<=y Inférieur ou égal num_2 = 2
x>y Supérieur Print(num_1>num_2) -> true
x>=y Supérieur ou égal
29
INF1563 – Programmation I
Ordre de priorité des opérations
• En Python, les opérations arithmétiques suivent l'ordre de priorité
standard: acronyme PEMDAS ou BODMAS.
• Tableau ordre décroissant de priorité des opérations
• Si vous avez des opérations avec la même priorité, elles sont exécutées de gauche à
droite.
• Exemple: Dans 5 * 2 / 3,
la multiplication est effectuée en premier car elle a la même priorité que la division, puis
la division est effectuée..
INF1563 – Programmation I
Ordre de priorité des opérations
• 2*(3-1) = 4
• (1+1)**(5-2) =8
• 2**1+1 = 3
• 3*1**10 = 3
• 2/3-1 = -0.3333...
31
INF1563 – Programmation I
Formatio
nEntrées – Sorties de base : input( ) – Print( )
Entrée de données :
Pour lire une entrée (donnée) dans un programme, on a besoin d’une
Syntaxe:
print() / input()
• input(msg): permet de récupérer une chaîne de caractères tapée par
l’utilisateur (retourne une chaine)
• print(msg) : imprime à l’écran une chaîne de caractères donnée en
argument
• Exemples
33
INF1563 – Programmation I
Afficher des variables
INF1563 – Programmation I 34