Module : Algorithmes & Programmation python
Chapitre 1 : Bases de la programmation Python
1
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Structure d’un programme python
• Un programme python ne possède pas une structure bien précise
• Un programme python contient plusieurs types d’instructions qui répondent au problème défini.
- Instructions d’affichage
- Instructions de lecture
- Instructions d’affectation et de calcul
- Instructions alternatives
- Instructions répétitives
- Des commentaires, …
• Pour ajouter un commentaire sur une seule ligne
# exemple de commentaire
• Pour ajouter un commentaire sur plusieurs lignes
première ligne de commentaire
………………………
……….dernière ligne de commentaire
2
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Mots résérvés au langage python
False class from or None continue
global pass. True def if raise
and del return break for not
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
Pour afficher l’aide sur un keyword ou une fonction python, il suffit de taper la commande :
>>>> help(nom du keyword ou nom de la fonction)
>>> est l’invite de commande de l’interpréteur Python (prompt en anglais)
3
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Définition d’une donnée
▪ C’est un emplacement mémoire dans lequel on peut mémoriser une valeur.
▪ Une donnée est caractérisée par un identificateur, une valeur, et un type.
Une
▪ donnée peut être:
- variable : s’elle change de valeurs dans un programme
- Constante : s’elle garde la même valeur tout au long du programme
4
Module : Algorithmes& Programmation python
Chapitre 1 : Instructions de base
Identificateur des données
L’identificateur est un nom choisi pour désigner une donnée,
Il doit :
• Être formé des lettres (A - Z) (a - z), des chiffres (1 - 9) et des lignes de
soulignement ( _ )
• Commencer obligatoirement par une lettre.
Il ne doit pas
• Contenir des espaces
• Être un mot réservé du langage python
Python est sensible à la casse, ce qui signifie que les variables age, Age et AGE sont différentes.
Exemples : i, numéroProduit, coef_a, X1, age. . .
5
Module : Algorithmes& Programmation python
Chapitre 1 : Instructions de base
Types natifs de données
• Il représente le type de l’ensemble des valeurs que peut prendre une donnée.
• En python, le typage des données est dynamique : le type d’une donnée est
déterminée selon la valeur attribuée à cette donnée
• Pour savoir le type d’une donnée, il suffit d’utiliser la fonction type :
>>>> type (nom_donnee)
Ex:
a=3
print(type(a))
<class 'int'>
6
Module : Algorithmes & Programmation python
Chapitre 1 : Instructions de base
Types natifs des données
Types prédéfinis Signification Exemples
int Nombre entier a=1, b=-2
float Nombre réel a=1.3
complex Nombre complexe a=3+5j
bool Nombre logique a=true , b=false
str Chaine de caractères a="Bonjour" b="s" c=‘A’
7
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Opérateurs arithmétiques sur les types numériques
x+y Somme de x et y
x-y Différence de x et y Opérateurs logiques
x*y Produit de x et y
and ET logique
x/y Quotient de x et y
or OU logique
x//y Quotient entier de x et y
not Négation logique
x%y reste de la division euclidienne de x et y
x**y x à la puissance y
8
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Opérations sur les chaînes de caractères
Pour les chaînes de caractères, deux opérations sont possibles: l’addition et la multiplication
'Salut' + " Python" 'Salut Python'
'Salut' * 3 'SalutSalutSalut'
L’opérateur d’addition + concatène (assemble) deux chaînes de caractères.
L’opérateur de multiplication * entre un nombre entier et une chaîne de caractères duplique
(répète) plusieurs fois une chaîne de caractères.
' et " sont équivalents pour définir des chaînes de caractères.
Python offre également des triple guillemets (''' ou """) pour les chaînes multilignes. Ces
guillemets sont utiles pour les chaînes longues ou lorsque tu veux inclure des sauts de ligne.
9
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Comparaison des chaînes de caractères
C'est l'ordre alphabétique qui est utilisé dans le cas où l'on compare deux lettres majuscules ou minuscules.
les majuscules apparaissent avant les minuscules (en termes de codes Unicode).Par conséquent, les majuscules
sont considérées comme plus petites que les minuscules.
Exemple:
• "a" < "b" Fonctions utiles pour la comparaison des chaines de
caractères :
• ‘M’ < ‘m’
ord() : permet de connaître le code Unicode d'un caractère.
• "Maman" < "Papa"
chr() :permet de connaître le caractère correspondant à un code
• "maman" > "Papa " Unicode.
• ord('A') renvoie 65 Len(): renvoie le nombre de caractères que la chaine contient.
• ord('a') renvoie 97
• chr(65) envoie 'A‘
• len("Bonjour") renvoie 7
10
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Opérateurs de comparaison Opérateurs de conversion
< inférieur à Convertir x vers un
int(x)
nombre entier
<= inférieur ou égal à
> supérieur à Convertir x vers un
float (x)
nombre réel
>= supérieur ou égal à
Convertir x vers une chaine
== égal à str(x) de caractères
!= différent
Exemples :
x = "42" x = 3.14 x = "abc"
y = int(x) y = int(x) y = int(x)
-> y va contenir 42 -> y va contenir 3 -> Cela lèvera une erreur
11
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Opérateurs d’affectation
• C’est l’opération qui permet d’attribuer à une variable une valeur simple ou résultante d’une
expression arithmétique :
En algorithmique, l'affectation se note avec le signe ←
Var← e : attribue la valeur de e à la variable Var
- e peut être une valeur, une autre variable ou une expression
- l’affectation ne modifie que ce qui est à gauche de la flèche
En python, l'affectation se note avec le signe =
- Identificateur_variable = valeur simple
- Identificateur_variable = expression arithmétique
Exemples : a=3
x=y
s=p*(r**2)
12
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Opérateurs d’affectation
• Une affectation multiple, c’est attribuer à plusieurs variables une seule valeur avec une seule
affectation.
- Identificateur_variable1=Identificateur_variable2= Valeur
• Une affectation parallèle, c’est affecter des valeurs à plusieurs variables en parallèle.
- Identificateur_variable1, Identificateur_variable2= Valeur1, Valeur 2
Exemple : NB :
Lorsque les types des deux opérandes sont différents il y a conversion
implicite vers le type de la variable résultante.
a=b=c=3
x,y,z=1,2,3
13
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Opérateurs d’assignation
Additionne les deux valeurs op1 et op2, le résultat est stocké dans op1
op1+= op2 op1=op1 +op2
Soustrait les deux valeurs op1 et op2, le résultat est stocké dans op1
op1-= op2 op1= op1 – op2
Multiplie les deux valeurs op1 et op2, le résultat est stocké dans op1
op1*= op2 op1= op1*op2
Divise les deux valeurs op1 et op2, le résultat est stocké dans op1
op1/= op2 op1= op1/op2
Divise les deux valeurs op1 et op2, la partie entière du résultat est stocké dans op1
op1//=op2 op1=op1//op2
op1**=op2 op1=op1**op2 Calculer op1 à la puissance op2 et mettre le résultat dans op1
Exemple :
A=3 A+=2 #Ajouter 2 à A puis stocker la nouvelle valeur dans A A va contenir 5
B=12 B//=5 # Diviser B sur 5 puis stocker la partie entière du résultat dans B B va contenir 2
C=2 C**=3 # calculer C à la puissance 3 puis stocker le résultat dans C : C va contenir 8
14
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Essayez de prédire le résultat de chacune des instructions suivantes:
27
'DaDaDaDa'
TypeError: can only concatenate str (not "int") to str
'PaLaPaLa'
TypeError: unsupported operand type(s) for /: 'str' and 'int'
2.5
2
1
'444'
6.2
TypeError: can't multiply sequence by non-int of type 'float'
'0.750.75'
15
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Instruction d’écriture : print
C’est la fonction qui permet d’afficher des messages ou les valeurs des données à
l’utilisateur.
Syntaxe générale
print (identificateur_donnee) Résultat d’exécution
print (iden_donnee1, iden_donnee2, …)
print (" message ") La somme est :
21
print ( " message " , identificateur_donnee) 42
La somme est : 21
print ( f " message { identificateur_donnee } " ) La somme est : 21
Exemple
S=21
print ( " La somme est : ")
print (S) NB:
print (2*S) f : Indique que la chaîne est une f-string
print("La somme est:",S)
print ( f " La somme est : {S} ") 16
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Instruction d’écriture : print
Mot clé sep
Séparateur par défaut (espace) : les éléments sont séparés par un espace par défaut.
Le mot-clé sep en Python est utilisé dans la fonction print() pour définir un séparateur personnalisé entre
les éléments que tu veux afficher.
17
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Instruction de lecture des variables : input
• C’est la fonction qui permet à l’utilisateur de fournir au programme les valeurs des variables.
• La fonction input() renvoie une valeur de type chaine de caractères, Pour faire des calculs sur la valeur saisie, il faut
la convertir à un entier avec la fonction int (nom_variable) ou un réel avec la fonction float(nom_variable).
Syntaxe générale
iden_var = input ()
***
iden_var = input ( "message ")
NB: L'argument (le texte) que tu mets entre les guillemets
dans input ("message") est le message d’invite que
l'utilisateur verra avant d'entrer sa réponse. Ce message
est facultatif, mais il peut être utile pour guider l'utilisateur
sur ce qu'il doit entrer.
18
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de base
Instruction de lecture des variables : input
Problème de l’exemple précédent:
Exemple
R=float(input (‘Choisir une valeur pour R’))
Solution:
Résultat d’exécution
Choisir une valeur pour R 2.4
19
Module : Algorithmes & Programmation python
Chapitre 1 : instructions de contrôle
Expression logique ▪ C’est une comparaison de deux valeurs de même type en utilisant un
simple opérateur de comparaison.
▪ La valeur d’une expression logique est de type booléen (vrai ou faux)
Exemple
A==B
A<=4
Expression logique ▪ C’est une combinaison entre deux expressions logiques simples en utilisant un
complexe opérateur logique.
▪ La valeur d’une expression logique complexe est de type booléen (vrai ou faux)
Exemple
Opérateur de Opérateur
comparaison Opérateur de
logique comparaison
(A + 3 < B * 2) and (A % B == 0)
Expression logique Expression logique
simple simple
20
Module : Algorithmique avancée & Programmation python
Chapitre 1 : structure conditionnelle
L’instruction : if
if expression logique : Condition
Instruction 1
Instruction 2 Instructions à exécuter si
… Instruction n l’expression logique est vraie
Exemple
if X > 0 :
print ( " c’est un nombre strictement positif ")
21
Module : Algorithmes & Programmation python
Chapitre 1 : structure conditionnelle
L’instruction : if … else
if expression logique : Condition
Exemple
Instruction 1 à exécuter si
… l’expression logique if X > 0 :
Instruction n est vraie print (" c’est un nombre strictement positif")
else :
else :
print (" c’est un nombre négatif ou nul ")
Instruction 1 à exécuter si
… l’expression logique
Instruction m est fausse
NB:
Indentation: Espaces ou tabulations qui définissent quels morceaux du code appartiennent à quel bloc
22
Module : Algorithmes & Programmation python
Chapitre 1 : structure conditionnelle
L’instruction : if … elif … else
if condition1:
# Code exécuté si condition1 est vraie
elif condition2:
# Code exécuté si condition1 est fausse et condition2 est vraie
elif condition3:
# Code exécuté si les conditions précédentes sont fausses et condition3 est vraie
…
elif condition4:
# Code exécuté si les conditions précédentes sont fausses et condition4 est vraie
else:
# Code exécuté si aucune des conditions précédentes n'est vraie
23
Module : Algorithmes & Programmation python
Chapitre 1 : structure conditionnelle
Exemple 1
if X > 0 :
print (" C’est un nombre strictement positif ")
elif X < 0 :
print (" C’est un nombre négatif " )
else :
print (" C’est un nombre nul" )
24