0% ont trouvé ce document utile (0 vote)
13 vues39 pages

Python Essentials: Variables et Instructions

Transféré par

Moussa Dao
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues39 pages

Python Essentials: Variables et Instructions

Transféré par

Moussa Dao
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Interpréteur, variables, instructions

Instructions de contrôle

Python essentials
Variables et instructions basiques

Dr. Hamidou Kassogué

CFECO
Avril 2022

1/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Plan de section

1 Interpréteur, variables, instructions


Prise en main avec l’interpréteur
Variables et instructions

2 Instructions de contrôle
Structures conditionnelles
Boucles

2/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Plan de sous section

1 Interpréteur, variables, instructions


Prise en main avec l’interpréteur
Variables et instructions

2 Instructions de contrôle
Structures conditionnelles
Boucles

3/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Rôle de l’interpréteur
L’interpréteur Python est représenté dans ce cours par les chevrons :
>>>
Il permet d’exécuter du code Python écrit dans le shell Python.
Il permet de tester du code au fur et à mesure qu’on écrit.
Accepte des variables/valeurs et permet de faire des calculs.
Prend une instruction par ligne, sinon on met ; entre plusieurs instructions
sur la même ligne.
Délimite les instructions d’un bloc par l’indentation.
Prend . comme séparateur décimale et non ,.
Les calculs impliquent des nombres décimaux, donc parfois approximatifs.
NB : Partout dans ce cours, on lira le code comme suit :
>>> ligne de code Python
... suite du code
résultat
4/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Python comme une super calculatrice

Somme (+, -), produit (*), division (/), et puissance (**)

>>> 3 + 4
7

>>> 2-6
-4

>>> 9.5 + 2
11.5

>>> 3.11 + 2.08


5.1899999999999995

5/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Python comme une super calculatrice

Somme (+, -), produit (*), division (/), et puissance (**)

>>> 3 + 4 NB : en fonction de l’opération et des


7 opérandes, Python trouve le type du ré-
sultat et sa représentation en mémoire.
>>> 2-6 Laquelle peut être à plusieurs chiffres
-4 après la virgule. Cette dernière dépend
de la machine.
>>> 9.5 + 2 La fonction round(var, n) permet d’ar-
11.5 rondir la valeur de var avec n chiffres
après la virgule.
>>> 3.11 + 2.08
5.1899999999999995 Testez les autres opérations pour voir.

5/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Python comme une super calculatrice

Division entière et modulo

>>> 10/5 >>> 10/3


2.0 3.3333333333333335

6/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Python comme une super calculatrice

Division entière et modulo

>>> 10/5 >>> 10/3


2.0 3.3333333333333335

Python fournit la division toujours en virgule flottante (nombre réel).


Toutefois, on peut faire la division en nombre entier comme suit :

>>> 10//3 >>> 10%3


3 1
pour l’obtention du quotient ; pour l’obtention du reste.

6/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Python comme une super calculatrice

Exemple : on veut calculer l’heure d’arrivée (h :min) à partir de l’heure de départ


(12 :36) et de la durée (48 min).

7/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Python comme une super calculatrice

Exemple : on veut calculer l’heure d’arrivée (h :min) à partir de l’heure de départ


(12 :36) et de la durée (48 min).
>>> 12 + (36 + 48) // 60
13
>>> (36 + 48) % 60
24
L’idéel aurait été d’utiliser des variables, demander les valeurs au clavier et afficher
le résultat.

7/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Plan de sous section

1 Interpréteur, variables, instructions


Prise en main avec l’interpréteur
Variables et instructions

2 Instructions de contrôle
Structures conditionnelles
Boucles

8/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Les variables

Identificateur (nom des variables)


Mêmes observations que ailleurs (nom constitué de lettres minuscules/majuscules,
chiffres, symbole souligné). En particulier, un nom :
ne doit pas commencer par un chiffre ;
est sensible à la casse (c-à-d a différent de A) ;
ne doit pas être un mot clé (réservé à Python).

9/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Les variables

Types, affectation
Le type est défini automatiquement depuis l’affectation. La fonction type(var)
retourne le type de la variable passée en paramètre.

>>> var1 = 2 sera enregistré un int.

>>> var2 = 2.5 sera enregistré un float.

>>> var3 = True sera enregistré un bool.

>>> var4 = ’J\’aime Python !’ sera enregistré un str.

>>> var5 = 1 + 2j sera enregistré un complex.


sera enregistré un NoneType.
>>> var5 = None

10/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Les variables

Opérations
Les opérations classiques (+, -, *, **, /, // et %) marchent ici aussi sur les
variables numériques (int et float). Dans le cas des bool, les opérations + (i.e or),
* (i.e and) et - (i.e not) sont effectuées selon l’algèbre de Boole.

Le caste d’une variable se fait via : type_souhaité(var_ou_valeur). Par exemple :


int(var) % conversion de var en entier
float(var) % conversion de var en réel
str(var) % conversion de var en chaîne de caractères

11/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Les variables
Cas des chaines de caractères
On a trois façons de définir une chaine de caractères en Python.
>>> str1 = ’J\’aime Python !’
>>> str2 = "J’aime Python !\nEt toi ?"
>>> str3 = """J’aime Python !
... Et toi ?"""
Et on peut mettre du simple cote (’) dans du double cotes (") et vis versa.
Pour les triples cotes (""") on peut utiliser (’’’) aussi.
Question : quelle est la différence entre ces trois affectations de str ?
On peut accéder au ième caractère de la chaîne via :
nomChaine[i]
Si i est négatif, l’accès est fait à partir de la fin (exemple -1 est le dernier
caractère). On peut aussi accéder à une plage de caractères via
nomChaine[i:j]
12/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Les variables
Cas des chaines de caractères
On peut faire les opérations + (concaténation) et * (répétition). Par exemple :
>>> str1 = "Bonjour"; str2 = "Toto"
>>> str1 + ’ ’ + str2
Bonjour Toto
>>> str3 = "bla"
>>> str3 * 3
blablabla
On a d’autres opérations utiles comme le split et la jointure. Par exemple :
>>> np = "Toto Titi" >>> n = "Toto"
>>> [n, p] = [Link](" ") >>> p = "Titi"
>>> n >>> np = " ".join([n, p])
Toto >>> np
>>> p Toto Titi
Titi
13/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Entrée/sortie
Sortie avec print
C’est une fonction qui prend en paramètre une collection de variables/valeurs et
l’affiche à l’écran (avec un séparateur (espace par défaut), et un comportement de
fin (retour à la ligne par défaut)). Sa signature suivante :
print(collection_var, sep=" ", end="\n")
Par exemple (avec end) :
>>> a = 2 >>> a = 2
>>> b = 3 >>> b = 3
>>> print(a) >>> print("a=", end="")
>>> print(b) >>> print(a, end="")
2 >>> print(" et b=", end="")
3 >>> print(b)
>>> print(a, end=" ") a=2 et b=3
>>> print(b)
Essayez d’avoir ce affichage en uti-
2 3
lisant un seul print.
14/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Entrée/sortie

Sortie avec print


Par exemple (suite avec sep) :
>>> a = 2
>>> b = 3
>>> print("a=", a, "et b=", b)
a= 2 et b= 3
>>> print("a=", a, "et b=", b, sep="")
a=2 et b=3
Quel constat faites vous de ces deux affichages ?

15/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Entrée/sortie

Sortie avec print


Formatage de variable : lorsqu’on a à afficher du texte et des variables, mieux vaut
utiliser le formatage. Il y a plusieurs façons. On a entre autres :
>>> a = 2
>>> b = 3
>>> print("a=" + str(a) + " et b=" + str(b))
a=2 et b=3
>>> print("a={} et b={}".format(a, b))
a=2 et b=3
>>> print(f"a={a} et b={b}")
a=2 et b=3

Les deux dernières écritures sont préférées à celle d’avant lorsqu’on combine texte
et variables. Il en est de même pour la collection avec virgule.

16/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Entrée/sortie

Entrée avec input


C’est une fonction qui permet de lire une expression saisie à partir du clavier en
affichant un message de dialogue.
>>> a = input("Entrer une valeur: ")
>>> type(a)
<class ’str’>
Elle capture la saisie au clavier dans une variable de type str. Pensez à faire un
caste en cas de besoin. Par exemple pour lire un entier a, on fera :
>>> a = int(input("Entrer une valeur: "))

17/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Exercices

Exercice 1.
Ecrivez un script Python qui permet le calcul de l’intérêt (I) et de la valeur acquise
(VA) par une somme initiale (SI) placée en banque pendant un an à intérêt simple
d’un taux (T) :
V A = SI + I avec I = SI × T /100

18/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Exercices

Exercice 1.
Ecrivez un script Python qui permet le calcul de l’intérêt (I) et de la valeur acquise
(VA) par une somme initiale (SI) placée en banque pendant un an à intérêt simple
d’un taux (T) :
V A = SI + I avec I = SI × T /100

>>> SI = int(input("Entrer la somme initiale: "))


... T = int(input("Entrer le taux d’intérêt: "))
... I = SI * T/100
... VA = SI + I
... print(f"L’intérêt est {I} et la valeur acquise est {VA}")

18/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Exercices
Exercice 2.
Ecrivez un script Python qui permet lire une heure de départ (heuredep), une durée
(duree) au format h:m puis calcule et affiche l’heure d’arrivée (heurearr) au format
h:m en tenant compte du surplus de minutes et/ou heures.
On utilisera que les opérations arithmétiques +, // et %, la fonction split pour
séparer h et m, les fonctions input et print.

19/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Exercices
Exercice 2.
Ecrivez un script Python qui permet lire une heure de départ (heuredep), une durée
(duree) au format h:m puis calcule et affiche l’heure d’arrivée (heurearr) au format
h:m en tenant compte du surplus de minutes et/ou heures.
On utilisera que les opérations arithmétiques +, // et %, la fonction split pour
séparer h et m, les fonctions input et print.
>>> heuredep = input("Entrez une heure de départ: ")
... [deph, depmin] = [Link](":")
... deph = int(deph); depmin = int(depmin)
... duree = input("Entrez une durée: ")
... [dureeh, dureemin] = [Link](":")
... dureeh = int(dureeh); dureemin = int(dureemin)
... arrh = (deph + dureeh + (depmin + dureemin) // 60) % 24
... arrmin = (depmin + dureemin) % 60
... heurearr = str(arrh) + ":" + str(arrmin)
... print(f"L’heure d’arrivée est {heurearr}")
Remarque : str(var).zfiil(2) donne un affichage de var avec 2 chiffres.
19/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Prise en main avec l’interpréteur
Instructions de contrôle Variables et instructions

Petite note Interpréteur/Fichier


Remarque :
On constate qu’il n’est pas aisé d’écrire du code dans l’interpréteur de commande.
Et surtout ré-exécuter le code.
Il est mieux de considérer un fichier *.py pour écrire le code, et qu’on exécute
dans l’invite de commande à travers python3 [Link] ou py nomFi-
[Link] ou via le bouton run d’un IDE. Pour l’exécution dans le shell, il faut
être dans le répertoire où se trouve le fichier.
Il est recommandé de mettre ces deux lignes au début du code. Le 1er est un
raccourci de lancement d’exécution dans un IDE et le 2nd est pour l’encodage.
#!/usr/bin/env python
# -*- coding: utf-8 -*-

Pour le script du calcul de l’heure, créez le fichier [Link] et collez-y le code.


Voir les mécanismes d’exécutions disponibles sur votre IDE.
On peut aussi utiliser une notebook. Voir les essais en classe avec [Link].
20/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Plan de section

1 Interpréteur, variables, instructions


Prise en main avec l’interpréteur
Variables et instructions

2 Instructions de contrôle
Structures conditionnelles
Boucles

21/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Règle d’indentation

Pour chacune des instruction de contrôle (if, for et while), le bloc de définition
(d’instructions) est délimité par un principe d’indentation. L’indentation joue le
rôle des accolades rencontrées dans d’autres langages.

22/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Plan de sous section

1 Interpréteur, variables, instructions


Prise en main avec l’interpréteur
Variables et instructions

2 Instructions de contrôle
Structures conditionnelles
Boucles

23/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Forme minimale if

a = 5; b = 6; c = 3;
d = b**2 - 4 * a * c
if d<0 :
print("Il n’y a pas de solution")
d étant égal à -64, le résultat affiché est
Il n’y a pas de solution

Mettez le code dans un fichier ex_if.py Changez les valeurs de a, b et c puis


réessayez.

24/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Forme complète if, elif,..., else


Toujours dans ex_if.py, complétons le code selon la forme complète de la condition
if :
a = 5; b = 6; c = 3;
d = b**2 - 4 * a * c
if d<0:
print("Pas de solution")
elif d==0:
x = -b / (2 * a)
print(f"Une solution double x={x}")
else:
x1 = (-b - d**0.5) / (2 * a)
x2 = (-b + d**0.5) / (2 * a)
print(f"Deux solutions, x1={x1} et x2={x2}")
Question : modifiez le code de manière à ce qu’on saisisse a, b et c au clavier.

25/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Exercice
Reprenez dans [Link] l’exercice du calcul d’heure d’arrivée en affichant une erreur si
l’heure ou la durée n’est pas sous le bon format (h:m avec deux chiffres pour h et m).

26/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Exercice
Reprenez dans [Link] l’exercice du calcul d’heure d’arrivée en affichant une erreur si
l’heure ou la durée n’est pas sous le bon format (h:m avec deux chiffres pour h et m).
heuredep = input("Entrez une heure de départ: ")
if len(heuredep)!=5 or heuredep[2]!=":":
print(f"L’heure {heuredep} n’est pas sous le bon format (ex. 09:05)")
else:
[deph, depmin] = [Link](":")
deph = int(deph); depmin = int(depmin)
duree = input("Entrez une durée: ")
if len(duree)!=5 or duree[2]!=":":
print(f"La durée {duree} n’est pas sous le bon format (ex. 02:05)")
else:
[dureeh, dureemin] = [Link](":")
dureeh = int(dureeh); dureemin = int(dureemin)
arrh = (deph + dureeh + (depmin + dureemin) // 60) % 24
arrmin = (depmin + dureemin) % 60
heurearr = str(arrh).zfill(2) + ":" + str(arrmin).zfill(2)
print(f"L’heure d’arrivée est {heurearr}")
26/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Exercice

Essayez d’améliorer le script de calcul d’heure précédent en tenant compte du fait


d’avoir h et m en entier suite à une saisie.
Indications : utilisez une clause try-except sur ValueError.

27/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Plan de sous section

1 Interpréteur, variables, instructions


Prise en main avec l’interpréteur
Variables et instructions

2 Instructions de contrôle
Structures conditionnelles
Boucles

28/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Boucle while

i = 2; f = 1;
while i <= 10:
f *= i
i += 1
print(f"Le factoriel de 10 = {f}")
On obtient en sortie
Le factoriel de 10 = 3628800

NB : en Python, il n’y a pas de boucle do ... while.

29/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Boucle for
mastr = "J’aime Python !"
for c in mastr:
print(c, end=’’)
Un itérateur est construit sur la variable. Celui-ci produit en sortie :
J’aime Python !

30/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Boucle for
mastr = "J’aime Python !"
for c in mastr:
print(c, end=’’)
Un itérateur est construit sur la variable. Celui-ci produit en sortie :
J’aime Python !

L’itération classique (de ... à ... par pas de ...) se fait comme suit :
for i in range(0, 10, 2):
print(f"{i} ", end=’’)
for i in range(0, 10):
print(f"{i} ", end=’’)
Le pas par défaut est 1 si on ne le met pas. Celui-ci fournit en sortie :
0 2 4 6 8
0 1 2 3 4 5 6 7 8 9
30/32 Dr. H. Kassogué Python essentials: variables, instructions
Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Exercice

1 Écrivez un script qui demande de saisir un entier positif n et retourne la


somme des entiers positifs inférieurs ou égal à n.
2 Reprenez le script précédent avec une boucle while permettant de répéter
l’exécution tant que la valeur lue au clavier est positive.

31/32 Dr. H. Kassogué Python essentials: variables, instructions


Interpréteur, variables, instructions Structures conditionnelles
Instructions de contrôle Boucles

Questions ?

32/32 Dr. H. Kassogué Python essentials: variables, instructions

Vous aimerez peut-être aussi