[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
9 vues58 pages

2-Intro Python

Ce document présente une introduction au langage de programmation Python, incluant ses caractéristiques, sa syntaxe, et ses types de données. Il aborde également les concepts d'algorithmes, de programmes, et les structures de contrôle comme les instructions conditionnelles et répétitives. Enfin, des exemples d'applications pratiques sont fournis pour illustrer l'utilisation de Python.

Transféré par

lkoko2127
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)
9 vues58 pages

2-Intro Python

Ce document présente une introduction au langage de programmation Python, incluant ses caractéristiques, sa syntaxe, et ses types de données. Il aborde également les concepts d'algorithmes, de programmes, et les structures de contrôle comme les instructions conditionnelles et répétitives. Enfin, des exemples d'applications pratiques sont fournis pour illustrer l'utilisation de Python.

Transféré par

lkoko2127
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
Vous êtes sur la page 1/ 58

Introduction au langage python

Idriss TAZIGH
CPGE IBN GHAZI - MARRAKECH
MPSI-PCSI

i.tazigh@gmail.com

09/2022

Idriss TAZIGH MPSI-PCSI 09/2022 1 / 58


Introduction au langage python

Idriss TAZIGH MPSI-PCSI 09/2022 2 / 58


Plan

1 Introduction au langage python


Introduction
Identicateurs et mots clés
Variables

Idriss TAZIGH MPSI-PCSI 09/2022 3 / 58


Ordinateurs

Dénition
Un ordinateur est l'équipement électronique utilisé pour faire le traitement
automatique de l'information.
L'ordinateur comprend entre autres :
un microprocesseur avec une UC (Unité de Contrôle), une UAL (Unité
Arithmétique et Logique), une horloge, une mémoire cache rapide ;
de la mémoire volatile (dite vive ou RAM), contenant les instructions
et les données nécessaires à l'exécution des programmes. La RAM est
formée de cellules binaires (bits) organisées en mots de 8 bits (octets) ;
des périphériques : entrées/sorties, mémoires permanentes (dites
mortes : disque dur, clé USB, CD- ROM...), réseau...

Idriss TAZIGH MPSI-PCSI 09/2022 4 / 58


Deux sortes de programmes

Le système d'exploitation : ensemble des programmes qui gèrent les


ressources matérielles et logicielles. Il propose une aide au dialogue
entre l'utilisateur et l'ordinateur : l'interface textuelle (interpréteur de
commande) ou graphique (gestionnaire de fenêtres). Il est souvent
multitâche et parfois multiutilisateur ;
les programmes applicatifs sont dédiés à des tâches particulières. Ils
sont formés d'une série de commandes contenues dans un programme
source qui est transformé pour être exécuté par l'ordi- nateur.

Idriss TAZIGH MPSI-PCSI 09/2022 5 / 58


Des langages de diérents niveaux

Chaque processeur possède un langage propre, directement


exécutable : le langage machine. Il est formé de 0 et de 1 et n'est
pas portable, c'est le seul que l'ordinateur puisse utiliser ;
le langage d'assemblage est un codage alphanumérique du langage
machine. Il est plus lisible que le langage machine, mais n'est toujours
pas portable. On le traduit en langage machine par un assembleur ;
les langages de haut niveau. Souvent normalisés, ils permettent le
portage d'une machine à l'autre. Ils sont traduits en langage machine
par un compilateur ou un interpréteur.

Idriss TAZIGH MPSI-PCSI 09/2022 6 / 58


Production des programmes

La compilation :

L'interprétation :

Idriss TAZIGH MPSI-PCSI 09/2022 7 / 58


Le Langage Python
Python est un langage de programmation (au même titre que le C, C++,
fortran, java...), développé en 1989. Ses principales caractéristiques sont les
suivantes :
open-source : son utilisation est gratuite et les chiers sources sont
disponibles et modi- ables ;
simple et très lisible ;
doté d'une bibliothèque de base très fournie ;
importante quantité de bibliothèques disponibles : pour le calcul
scientique, les statistiques, les bases de données, la visualisation . . . ;
grande portabilité : indépendant vis à vis du système d'exploitation
(linux, windows, MacOS) ;
typage dynamique : le typage (association à une variable de son type
et allocation zone mémoire en conséquence) est fait automatiquement
lors de l'exécution du programme, ce qui permet une grande exibilité
et rapidité de programmation, mais qui se paye par une
surconsommation de mémoire et une perte de performance ;
présente un support pour l'intégration d'autres langages.
Idriss TAZIGH MPSI-PCSI 09/2022 8 / 58
Technique de production de Python

Technique mixte : l'interprétation du bytecode compilé. Bon


compromis entre la facilité de développement et la rapidité
d'exécution ;
le bytecode (forme intermédiaire) est portable sur tout ordinateur
muni de la machine virtuelle Python.

Idriss TAZIGH MPSI-PCSI 09/2022 9 / 58


Les diérentes versions

Il existe deux versions de Python : 2.7 et 3.3. La version 3.3 n'est pas
une simple amélioration de la version 2.2. Attention, toutes les
librairies Python n'ont pas eectué la migration de 2.7 à 3.3.

Idriss TAZIGH MPSI-PCSI 09/2022 10 / 58


Algorithme et programme

Dénition
Algorithme : ensemble des étapes permettant d'atteindre un but en
répétant un nombre ni de fois un nombre ni d'instructions.
Donc un algorithme se termine en un temps ni.

Dénition
Programme : un programme est la traduction d'un algorithme en un
langage compilable ou interprétable par un ordinateur.
Il est souvent écrit en plusieurs parties dont une qui pilote les autres : le
programme principal.

Idriss TAZIGH MPSI-PCSI 09/2022 11 / 58


Présentation des programmes

Un programme source est destiné à l'être humain. Pour en faciliter la


lecture, il doit être judicieusement présenté et commenté.
La signication de parties non triviales (et uniquement celles-ci) doit
être expliquée par un commentaire. En Python, un commentaire
commence par le caractère # et s'étend jusqu'à la n de la ligne :

1 # ~~~~~~~~~~~~~~~~~~~~~
2 # Voici un commentaire
3 # ~~~~~~~~~~~~~~~~~~~~~
4 9 + 2 # en voici un autre

Listing 1  Exemple python

Idriss TAZIGH MPSI-PCSI 09/2022 12 / 58


Les modes d'exécution

Soit on enregistre un ensemble d'instructions Python dans un chier


grâce à un éditeur (on parle alors d'un script Python) que l'on exécute
par une commande ou par une touche du menu de l'éditeur ;
Soit on utilise l'interpréteur Python embarqué qui exécute la boucle
d'évaluation

Idriss TAZIGH MPSI-PCSI 09/2022 13 / 58


Identicateurs

Dénition
Un identicateur Python est une suite non vide de caractères, de
longueur quelconque, formée d'un caractère de début et de zéro ou
plusieurs caractères de continuation.
le caractère de début peut être n'importe quelle lettre , y compris le
caractère souligné (_) ;
un caractère de continuation est un caractère de début ou un chire.
Attention Les identicateurs sont sensibles à la casse et ne doivent pas
être un mot réservé de Python.

Idriss TAZIGH MPSI-PCSI 09/2022 14 / 58


Les mots réservés de Python

Idriss TAZIGH MPSI-PCSI 09/2022 15 / 58


Variable

Dénition
Une variable est un identicateur d'une données dont les valeurs peuvent
varier dans un ensemble donnée appelé Type (Entier, réel, caractère,
booléen...).
Chaque variable est liée à une ou plusieurs case mémoires selon son type.
En Python, la déclaration d'une variable et son initialisation se font en
même temps.

Idriss TAZIGH MPSI-PCSI 09/2022 16 / 58


Les types de variables
Dénition
Le type d'une variable correspond à la nature de celle-ci.
entiers (32 bits) : C'est l'ensemble des nombres entiers positifs ou
négatifs.
type : int
réels (64 bits) : C'est l'ensemble des nombres réels, c'est à dire les
nombres avec virgule ottante.
type : oat
exemples de valeurs : 4. 5.1 1.23e-6
complexes : C'est l'ensemble des nombres complexe. type : complex
exemples de valeurs : 3+4j
booléens type : bool : Il s'agit des variables qui ne peuvent prendre
que deux valeurs : vrai (True) ou faux (False).
exemples de valeurs : True False
Idriss TAZIGH MPSI-PCSI 09/2022 17 / 58
opérations de base

aectation et réaectation :
> i = 3 # i vaut 3
> i = i + 4 # équivalente i+=4
> a, k=True, 3.14159
> k=r=2.15
> x=complex(3,4)
Achage : Pour acher des informations à l'écran, on utilise
l'instruction print qui obéit à la syntaxe suivante :
print (Variable ou ` Message' )
> print(`Saisissez la valeur du rayon : ')
> print(`Saisissez les valeurs du prix HT : ')
> print(`La surface du cercle est :', Surf )
> print(Surf)

Idriss TAZIGH MPSI-PCSI 09/2022 18 / 58


opérations de base

Opérateurs d'arithemitiques :
- + et - Pour l'addition et soustraction
- * et / Pour la multiplication et la division réelle
- // et % Pour la division entière et le modulo (le reste de
la division entière)
Opérateurs de la puissance et valeur absolue : **, pow, abs
Opérateurs logiques : or, and, not
Opérateurs de comparaison : ==, is, !=, is not, >, >=, <, <=
Conversion
> int(3.1415) # résultat 3
> oat(3) # 3.

Idriss TAZIGH MPSI-PCSI 09/2022 19 / 58


opérations de base

L'instruction input : Pour indiquer dans un algorithme qu'une


valeur saisie par l'utilisateur, doit être lue, on utilise l'instruction input
qui obéit à la syntaxe suivante :
variable = input(Message)
> # Récupérer une chaîne de caractères
nom = input (`Saisissez votre nom :')
> # Récupérer un entier
num = int(input (` Donnez votre numéro : '))
> # Récupérer un réel
moy = oat(input (` Donnez la moyenne générale : '))

Idriss TAZIGH MPSI-PCSI 09/2022 20 / 58


Application 1

Écrire le programme python permettant le calcul de la surface d'un


cercle dont le rayon est fournie par l'utilisateur
S =π×R 2

Idriss TAZIGH MPSI-PCSI 09/2022 21 / 58


Application 2

Écrire programme qui permet de déterminer le salaire mensuel d'un


commerçant sachant que ce salaire comporte un montant xe de 4000
DHS et une commission qui représente 10% du chire d'aaire réalisé
par mois.

Idriss TAZIGH MPSI-PCSI 09/2022 22 / 58


Structures alternatives

Idriss TAZIGH MPSI-PCSI 09/2022 23 / 58


Plan

2 Structures alternatives
L'instruction "if"
Exemples
Applications

Idriss TAZIGH MPSI-PCSI 09/2022 24 / 58


L'instruction "if"

Pour exprimer le fait que des instructions vont être exécutées dans un
cas alors que d'autres instructions peuvent être exécutées dans l'autre
cas, on utilise une structure alternative.

Remarques :
- On peut avoir plusieurs fois la clause elif
- Les clauses elif et else sont facultatives
- L'espace entre les mots clés (if, elif et else) s'appelle
indentation
Idriss TAZIGH MPSI-PCSI 09/2022 25 / 58
Exemples
Exemple 1 :
1 x = int ( input ( " Saisir un entier : " ))
2 if ( x > 0) :
3 print (x , " est un nombre positif " )

exemple.py
Exemple 2 :
1 x = int ( input ( " Saisir un entier : " ))
2 if ( x > 0) :
3 print (x , " est un nombre positif " )
4 else :
5 print (x , " est negatif ou nul " )

exemple.py
Exemple 3 :
1 x = int ( input ( " Saisir un entier : " ) )
2 if x > 0 :
3 print (x , " est un nombreMPSI-PCSI
Idriss TAZIGH
positif " ) 09/2022 26 / 58
Application 1

Écrire le programme qui permet de trouver le maximum de deux


entiers quelconques.

Idriss TAZIGH MPSI-PCSI 09/2022 27 / 58


Application 2

Écrire un programme qui donne la mention selon la moyenne générale


obtenue par un élève :
Si moyenne < 10 : Insusant
Si 10 <= moyenne < 12 : Passable
Si 12 <= moyenne < 14 : Assez bien
Si 14 <= moyenne < 16 : Bien
Si moyenne >= 16 : Très bien

Idriss TAZIGH MPSI-PCSI 09/2022 28 / 58


Structures répétitives

Idriss TAZIGH MPSI-PCSI 09/2022 29 / 58


Plan

3 Structures répétitives
Introduction
L'instruction for
L'instruction while

Idriss TAZIGH MPSI-PCSI 09/2022 30 / 58


Introduction

Question : Écrire un programme permettant d'acher les multiples


de 8 compris entre 8 et 800'.
Solution classique ? ?
print (8*1) # 8
print (8*2) # 16
....
print (8*100) # 800

Idriss TAZIGH MPSI-PCSI 09/2022 31 / 58


L'instruction for

L'instruction for permet de répéter un traitement un nombre de fois


Syntaxe :
for variable in range (valeur_debut, valeur_n, pas ) :
Instructions

Idriss TAZIGH MPSI-PCSI 09/2022 32 / 58


L'instruction for : Exemple

1 nb = 8
2 for i in range (0 ,101 , 1) :
3 print ( nb * i )

Listing 2  Exemple boucle


Remarque : i ∈ [1, 101[

Idriss TAZIGH MPSI-PCSI 09/2022 33 / 58


L'instruction for : Autre syntaxe possibles

On peut ne pas mentionner le pas. Sa valeur par défaut est 1.


1 nb = 8
2 for i in range (0 ,101) :
3 print ( nb * i )

Listing 3  Exemple syntaxe


On peut également ne pas mentionner le début. Sa valeur par défaut
est 0.
1 nb = 8
2 for i in range (101) :
3 print ( nb * i )

Listing 4  Exemple syntaxe

Idriss TAZIGH MPSI-PCSI 09/2022 34 / 58


L'instruction for : Application

Écrire un programme python qui demande un entier à l'utilisateur puis


qui calcul et ache la somme des nombres compris entre 1 et cet
entier.

Idriss TAZIGH MPSI-PCSI 09/2022 35 / 58


L'instruction while

On utilise cette instruction pour exécuter des actions tant qu'une


condition est réalisée.
Syntaxe :
while Condition :
Instructions

Idriss TAZIGH MPSI-PCSI 09/2022 36 / 58


L'instruction while

Sémantique : Si condition Tant que Valeur(Condition)=Vrai le bloc


d'instructions sera exécuté.Si valeur(Condition)=Faux la boucle while
est arrêtée.
Remarques : Avec while le test est fait à PRIORI.Il se peut que l'on
ne rentre jamais dans la boucle.Parfois, on ne connaît pas à l'avance le
nombre d'itérations.

Idriss TAZIGH MPSI-PCSI 09/2022 37 / 58


L'instruction while : Exemple

1 i = 1 # Initialisation
2 nb = 8
3 while i <= 100 :
4 print ( nb * i )
5 i = i + 1 # Incr é mentation

Listing 5  Exemple while

Idriss TAZIGH MPSI-PCSI 09/2022 38 / 58


L'instruction while : Application 1
Quel résultat produira les programmes suivants ?
Programme 1 :
1 i = 2
2 y = 0
3 while (i <7) :
4 i = i +1
5 y = y+i
6 print ( 'y = ' ,y )

Listing 6  Exemple 1
Programme 2 :
1 n = 13
2 while n != 0 :
3 print ( n )
4 n = n - 2

Listing 7  Exemple 2
Idriss TAZIGH MPSI-PCSI 09/2022 39 / 58
L'instruction while : Application 2

Écrire un programme python permettant le calcul du factoriel d'un


entier N > 0 donné : N !

Idriss TAZIGH MPSI-PCSI 09/2022 40 / 58


Fonctions

Idriss TAZIGH MPSI-PCSI 09/2022 41 / 58


Plan

4 Fonctions
Dénition
Appel d'une fonction
Portées des variables
Fonction récursive

Idriss TAZIGH MPSI-PCSI 09/2022 42 / 58


Dénition

Dénition
Les fonctions sont des parties du programme, référencée par un nom, qui
permettent de centraliser un traitement et de le reproduire plusieurs fois.

1 def nomFonct (x , y ) :
2 Instructions

Listing 8  Exemple 2
Remarque : Les paramètres sont les données nécessaires à une fonction
pour qu'elle puisse faire son rôle.

Idriss TAZIGH MPSI-PCSI 09/2022 43 / 58


Exemple 1

1 def fact ( x ) :
2 f = 1
3 for i in range (1 , x +1) :
4 f = f * i
5 print ( ' le factoriel de ' ,x , ' est : ' ,f )

Listing 9  Exemple 1
Remarque : ici la fonction fact calcul le factoriel du paramètre x puis
ache le résultat.

Idriss TAZIGH MPSI-PCSI 09/2022 44 / 58


Exemple 2

1 def fact_v2 ( x ) :
2 f = 1
3 for i in range (1 , x +1) :
4 f = f * i
5 return f

Listing 10  Exemple 2
Remarque : ici la fonction fact renvoi (retourne) la valeur du factoriel
calculée.

Idriss TAZIGH MPSI-PCSI 09/2022 45 / 58


Appel d'une fonction

1 def fact ( x ) :
1 def fact_v2 ( x ) :
2 f = 1
2 f = 1
3 for i in range (1 , x +1) :
3 for i in range (1 , x +1) :
4 f = f * i
4 f = f * i
5 print ( ' le factoriel de ' ,x , '
5 return f
est : ' ,f )
6
6
7 # Appel a la fonction
7 # Appel a la fonction
8 n = int ( input ( ' donnez n : ))
8 n = int ( input ( ' donnez n : ') )
9 y = fact_v2 ( n )
9 fact ( n )

Listing 11  Exemple 1 Listing 12  Exemple 2

Idriss TAZIGH MPSI-PCSI 09/2022 46 / 58


Remarques

Si une fonction ne fournit pas de résultat, Dans ce cas, on n'utilise pas


l'instruction return et on parle plus de fonction mais de procédure.
Si une fonction n'a pas de paramètres, on peut déclarer la liste des
paramètres comme vide () .

Idriss TAZIGH MPSI-PCSI 09/2022 47 / 58


Applications

1 Écrivez la fonction puissance(x,y) qui reçoit deux entier x et y puis


renvoi la valeur de x à la puissance y. L'usage de boucle est
impératif ! !
2 Écrivez la procédure absolue(A) qui reçoit une valeur réelle A puis
ache sa valeur absolue.

Idriss TAZIGH MPSI-PCSI 09/2022 48 / 58


Variables locales

Dénition
Les variables déclarées dans une fonction sont uniquement visibles à
l'intérieur de cette fonction. On dit que ce sont des variables locales .
Exemple :
1 def puissance (x , y ) :
2 val =1
3 for i in range (1 , y +1) :
4 val = val * x
5 return val
6 print ( val ) # Instructions incorrectes
7 A = x + y # Instructions incorrectes

Listing 13  Exemple 1

Idriss TAZIGH MPSI-PCSI 09/2022 49 / 58


Variables Globales

Dénition
Les variables dénies a l'extérieur d'une fonction sont des variables
globales. Leur contenu est "visible" de l'intérieur d'une fonction.Pour
changer la valeur d'une variable global à l'intérieur d'une fonction, on
utilise l'instruction global
Exemple 1 :
1 A = 10
2 B = 20 # A et B sont des variables globales
3 def fonct () :
4 print ( ' Dans la fonction : A = ' ,A , 'B = ' ,B )
5 fonct ()
6 print ( ' En dehors de la fonction : A = ' ,A , 'B = ' ,B )

Listing 14  Exemple 1

Idriss TAZIGH MPSI-PCSI 09/2022 50 / 58


Variables Globales

Exemple 2 :
1 A = 10
2 B = 20
3 def fonct () :
4 global A
5 A =2
6 print ( ' Dans la fonction : A = ' ,A , 'B = ' ,B )
7

8 fonct ()
9 print ( ' En dehors de la fonction : A = ' ,A , 'B = ' ,B )

Listing 15  Exemple 2

Idriss TAZIGH MPSI-PCSI 09/2022 51 / 58


Application

1 Ecrire la procédure permute() qui échange les valeurs de deux


variables A et B qui sont dénis à l'extérieur d'elle.

Idriss TAZIGH MPSI-PCSI 09/2022 52 / 58


Fonction récursive

Dénition
Une fonction récursive est une fonctions qui contient un ou plusieurs appels
à elle-même

Idriss TAZIGH MPSI-PCSI 09/2022 53 / 58


Exemple : fonction récursive

1 def factoriel ( n ) :
2 if n == 0 :
3 return 1
4 else :
5 return n * factoriel (n -1)

Listing 16  Exemple 2

Idriss TAZIGH MPSI-PCSI 09/2022 54 / 58


La pile des appels récursive

Idriss TAZIGH MPSI-PCSI 09/2022 55 / 58


La pile des appels récursive

Idriss TAZIGH MPSI-PCSI 09/2022 56 / 58


La pile des appels récursive

Idriss TAZIGH MPSI-PCSI 09/2022 57 / 58


Application

1 Écrire la fonction récursive somme qui permet de calculer la somme


des nombres de 1 à n (n est le paramètre de la fonction)

Idriss TAZIGH MPSI-PCSI 09/2022 58 / 58

Vous aimerez peut-être aussi