Vous êtes sur la page 1sur 54

Institut Supérieur des Etudes Maritimes

Informatique 2

Langage de programmation Python

Année universitaire: 2018/2019


Langage de programmation Python

Introduction

Inventé en 1991 par Guido van Rossum (langage C en 1971 par Dennis Ritchie)
Facile à apprendre, python est souvent utilisé en exemple lors de
l'apprentissage de la programmation.

Python est un langage de programmation interprété, c'est-à-dire qu'il n'est pas


nécessaire de le compiler avant de l'exécuter.
Les avantages d'un langage interprété sont la simplicité (on ne passe
pas par une étape de compilation avant d'exécuter son programme) et la
portabilité (un langage tel que Python est censé fonctionner aussi bien sous
Windows que sous Linux ou Mac OS, et on ne devrait avoir à effectuer aucun
changement dans le code pour le passer d'un système à l'autre).
En contrepartie, un langage compilé se révélera bien plus rapide qu'un
langage interprété (la traduction à la volée de votre programme ralentit
l'exécution), bien que cette différence tende à se faire de moins en moins sentir
au fil des améliorations.

Informatique 2 2
Langage de programmation Python

Introduction

Popularité du langage C: Source: IEEE

2016 2019
Informatique 2 3
Langage de programmation Python

Introduction
IDE: (integrated development environment)
un environnement de développement est un ensemble
d'outils qui permet d'augmenter la productivité des
programmeurs qui développent des logiciels. Il comporte
un éditeur de texte destiné à la programmation, des fonctions
qui permettent, par pression sur un bouton, de démarrer
le compilateur ou l'éditeur de liens ainsi qu'un débogueur en
ligne, qui permet d'exécuter ligne par ligne le programme en
cours de construction. Certains environnements sont dédiés à
un langage de programmation en particulier

L’IDE pour python est :IDLE (Integrated DeveLopment


Environment)
D'autre part, Python étant ainsi appelé en référence à la
troupe de comiques britanniques Monty Python, le
nom IDLE pourrait être une référence à Eric Idle, un membre
fondateur de la troupe
Informatique 2 4
Langage de programmation Python

Introduction

Très utilisé car:

Python est à la fois simple et puissant, il vous permet d'écrire des scripts très
simples mais grâce à ses nombreuses bibliothèques, vous pouvez travailler
sur des projets plus ambitieux.

 Python combiné avec le framework Django est un très bon choix


technologique pour des gros projets de sites internet.
 Python est également souvent utilisé par les admin système pour créer
des tâches dites répétitives ou simplement de maintenance.
 Possibilité de créer des applications java en codant en python, c'est
possible grâce au projet Jython.
…..

Informatique 2 5
Langage de programmation Python

Introduction

Le premier programme:

#include <stdio.h>
Algorithme helloWorld void main ( )
/*pgm qui affiche hello world!*/ {
Début /*pgm qui affiche hello world!*/
afficher ("Hello world!"); printf ("Hello world!\n");
Fin }

Algorithmique Langage C

#pgm qui affiche hello world!


print("Hello world!\n")

Langage Python

Informatique 2 6
Langage de programmation Python

Commentaires

Dans un script, tout ce qui suit le caractère # est ignoré par


Python jusqu’à la fin de la ligne et est considéré comme un
commentaire.

Les commentaires doivent expliquer votre code dans un langage


humain. Bonnes pratiques en programmation Python.

Informatique 2 7
Langage de programmation Python

Variables

Rappel:

Une variable est une zone de la mémoire de l’ordinateur dans


laquelle une valeur est stockée. Aux yeux du programmeur, cette
variable est définie par un nom, alors que pour l’ordinateur, il s’agit
en fait d’une adresse, c’est-à-dire d’une zone particulière de la
mémoire.

Informatique 2 8
Langage de programmation Python

Variables

Déclaration:

Exemple
x = 10;
Dans cet exemple, nous avons déclaré, puis initialisé la variable x
avec la valeur 10. Notez bien qu’en réalité, il s’est passé plusieurs choses:
• Python a « deviné » que la variable était un entier. On dit que Python est
un langage au typage dynamique.
• Python a alloué (réservé) l’espace en mémoire pour y accueillir un entier.
Chaque type de variable prend plus ou moins d’espace en mémoire. Python
a aussi fait en sorte qu’on puisse retrouver la variable sous le nom x.
• Enfin, Python a assigné la valeur 10 à la variable x.

Dans d’autres langages (en C par exemple), il faut coder ces différentes
étapes une par une. Python étant un langage dit de haut niveau, la simple
instruction x = 10 a suffi à réaliser les 3 étapes en une fois !
Informatique 2 9
Langage de programmation Python

Variables

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é (_).
Il ne doit pas contenir des espaces.
Il ne doit pas débuter par un chiffre.
De plus, il faut absolument éviter d’utiliser un mot « réservé » par Python
comme nom de variable (par exemple : print, if, for, and, etc.).
Python est sensible à la casse, ce qui signifie que les variables TesT, test
ou TEST sont différentes

Informatique 2 10
Langage de programmation Python

Variables

Types de données:
Nombres entiers (integer ou int)
W=3

Nombres réels (floats)


X=5.48

Booléens
Y=True
Y=False

Chaînes de caractères (string ou str)


Z="Bonjour"

Informatique 2 11
Langage de programmation Python

Variables

Opérations:

Opérations sur les types numériques


Somme, soustraction, multiplication et division
x = 45
x=x+2 # x=47
x=x-2.5 # x=44.5
y=x*3 # x=45 et y= 133.5
z=(x * 10) + y # x=45, y= 133.5 et z=583.5
x=3/4 # x=0.75

NB: Si on mélange les types int et floats, le résultat est renvoyé comme un
float. Par ailleurs, l’utilisation de parenthèses permet de gérer les priorités.
L’opérateur / effectue une division.
Contrairement aux opérateurs +, - et *, celui-ci renvoie systématiquement
un float.
Informatique 2 12
Langage de programmation Python

Variables

Opérations:

Opérations sur les types numériques


Puissance, quotient, reste de la division
x=2**3 # pour la puissance on utilise les symboles **  x=8
x=5//3
x=5//3 # // pour le quotient  x=1
x=5%3 # % pour le reste de la division  x=2
x+=3 # x+=3  x=x+3

L’opérateur += effectue une addition puis affecte le résultat à la


même variable. Cette opération s’appelle une « incrémentation ». Les
opérateurs -=, *= et /= se comportent de manière similaire pour la
soustraction, la multiplication et la division.

Informatique 2 13
Langage de programmation Python

Variables

Opérations:

Opérations sur les chaine de caractères

Pour les chaînes de caractères, deux opérations sont possibles,


l’addition et la multiplication :

chaine="Hello"
Concaténation:
chaine2=chaine+"World" # chaine2 <- "HelloWorld"
chaine+="World" # chaine <- "HelloWorld«
Duplication
chaine2=chaine*2 # chaine2 <- "HelloWorldHelloWorld"
chaine*=2 # chaine <- "HelloWorldHelloWorld"

Informatique 2 14
Langage de programmation Python

Variables

Conversion de types:

Les fonctions int(), float() et str() sont utilisées pour convertir les
types, c’est-à-dire passer d’un type numérique à une chaîne de caractères
ou vice-versa.

nbr=3
chaine=str(nbr) # chaine="3"
nbr=int("54") # nbr=54
flt=float("3") # flt=3.0
nbr=int(3.54") # nbr=3

Informatique 2 15
Langage de programmation Python

Variables

Exercice1:

Prédire le résultat de chacune des instructions suivantes:

(1+2)**3
"Da" * 4
"Da" + 3
("Pa"+"La") * 2
("Da"*4) / 2
5 / 2
5 // 2
5 % 2
str(4) * int("3")
int("3") + float("3.2")
str(3) * float("3.2")
str(3/4) * 2
Informatique 2 16
Langage de programmation Python

Variables

Corrigé:

(1+2)**3 # 27
"Da" * 4 # "DaDaDa"
"Da" + 3 # Erreur!!
("Pa"+"La") * 2 #"PaLaPaLa"
("Da"*4) / 2 # Erreur!!
5 / 2 # 2.5
5 // 2 #2
5 % 2 #1
str(4) * int("3") # "444"
int("3") + float("3.2") # 6.2
str(3) * float("3.2") # Erreur!!
str(3/4) * 2 # "0.750.75"

Informatique 2 17
Langage de programmation Python

Afficher, lire

Afficher:

La fonction print() affiche l’argument qu’on lui passe entre parenthèses et


un retour à ligne. Si toutefois, on ne veut pas afficher ce retour à la ligne, on
peut utiliser l’argument par mot-clé « end ».
print ("Hello") ; print ("World!")
=> Hello
World!
print ("Hello", end ="");print("World !")
=> Hello World !
nom="samir" ; x=5
print (nom , "a", x, "ans")
=> samir a 5 ans

Informatique 2 18
Langage de programmation Python

Afficher, lire

Afficher:

nom="samir" ; x=5
print ("{} a {} ans ". format (nom , x))
print ("{0} a {1} ans ". format (nom , x))
=> samir a 5 ans

Dans la chaîne de caractères, les accolades vides {} précisent l’endroit où le


contenu de la variable doit être inséré. Juste après la chaîne de caractères,
l’instruction .format(nom, x) fournie la liste des variables à insérer, d’abord
la variable nom puis la variable x. La méthode .format() agit sur la chaîne de
caractères à laquelle elle est attachée par le point.

Informatique 2 19
Langage de programmation Python

Afficher, lire

Lire:

La fonction input() provoque une interruption dans le programme courant.


L'utilisateur est invité à entrer des caractères au clavier et à terminer avec
<Enter>. Lorsque cette touche est enfoncée, l'exécution du programme se
poursuit, et la fonction fournit en retour une valeur correspondant à ce que
l'utilisateur a entré. Cette valeur peut alors être assignée à une variable
quelconque.
NB: On peut invoquer la fonction input() en laissant les parenthèses vides.
On peut aussi y placer en argument un message explicatif destiné à
l'utilisateur.

nn = input()
prenom = input('Entrez votre prénom')

Informatique 2 20
Langage de programmation Python

Afficher, lire

Exercice 2:

On souhaite calculer et afficher , à partir d’un prix hors taxe saisi, la TVA
ainsi que le prix TTC
Le montant TTC dépend de :
•Du prix HT
•Du taux de TVA de 20

Informatique 2 21
Langage de programmation Python

Afficher, lire

Corrigé:

#Saisit un prix HT et affiche le prix TTC et TVA correspondant


TVA=20
prixHT=float(input("Donnez-moi le prix hors taxe :"))
#calcul du prix TTC
prixTTC=prixHT*(1+TVA/100)
#calcul du montant TVA
montantTVA=prixTTC-prixHT
print("le prix TTC:{} euros H.T., la TVA est".format(prixTTC),montantTVA)

Informatique 2 22
Langage de programmation Python

Listes

Une liste est une structure de données qui contient une série de valeurs.
Python autorise la construction de liste contenant des valeurs de types
différents (par exemple entier et chaîne de caractères), ce qui leur confère
une grande flexibilité.

Exemple:

a = []
animaux = [' girafe ', 'tigre ', 'singe ', 'souris ']
mixte = [' girafe ', 5, 'souris ', 0.15]

Informatique 2 23
Langage de programmation Python

Listes

Les indices d’une liste de n éléments commence à 0 et se termine à n-1.


La liste peut également être indexée avec des nombres négatifs.
liste : [' girafe ', 'tigre ', 'singe ', 'souris ']
indice positif 0 1 2 3
indice négatif -4 -3 -2 -1

Exemple:

animaux = ['girafe', 'tigre ', 'singe ', 'souris ']


animaux [0] # animaux [0] = 'girafe'
animaux [ -2] # animaux [0] = ‘singe‘

Informatique 2 24
Langage de programmation Python

Listes

Opération sur les listes:

ani1 = ['girafe', 'tigre']; ani2 = ['singe', 'souris']


Concaténation et duplication:
animaux = ani1 + ani2 # animaux = ['girafe', 'tigre', 'singe', 'souris']
ani3=ani1*2 # ani3 = ['girafe', 'tigre', 'girafe ', 'tigre']
Afficher un item d'une liste:
ani1= ani1 + ['chat'] # ani1 = ['girafe', 'tigre', 'chat']
ani2.append('chien') # ani2 = ['singe', 'souris','chien']
Supprimer une entrée avec un index:
del ani1[1] # ani1 = ['girafe','chat']
Supprimer une entrée avec sa valeur (première occurrence):
ani2.remove('singe') # ani2 = ['souris','chien']
Compter le nombre d'items d'une liste:
len(animaux) # 4

Informatique 2 25
Langage de programmation Python

Listes

Opération sur les listes:

Un autre avantage des listes est la possibilité de sélectionner une partie d’une
liste en utilisant un indiçage construit sur le modèle [m:n+1]. On peut aussi
préciser le pas en ajoutant un symbole deux-points supplémentaire et en
indiquant le pas par un entier.

animaux = [‘girafe', 'tigre', 'singe', 'souris']


ani1=animaux [0:2] # ani1=[‘girafe', 'tigre']
ani1=animaux [1:] # ani1=['tigre', 'singe', 'souris']
ani1=animaux [1: -1] # ani1=['tigre', 'singe’]
ani1= animaux [0:3:2] # ani1=[‘girafe', 'singe']

Informatique 2 26
Langage de programmation Python

Listes

Opération sur les listes:

L’instruction range() est une fonction spéciale en Python qui génère des
nombres entiers compris dans un intervalle. Lorsqu’elle est utilisée en
combinaison avec la fonction list(), on obtient une liste d’entiers.
L’instruction range() fonctionne sur le modèle range([début,] fin[, pas]) avec
"fin" exclu de la liste. Les arguments entre crochets sont optionnels.

a=list (range(10)) # a= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


a=list(range(15 , 20)) # a= [15 , 16, 17, 18, 19]
a= list (range(0,1000,200)) #a= [0, 200 , 400 , 600 , 800]
a= list ( range (2, -2, -1)) # a= [2, 1, 0, -1]

Informatique 2 27
Langage de programmation Python

Listes

Exercice 3:

I. Constituez une liste semaine contenant les 7 jours de la semaine.


1. À partir de cette liste, comment récupérez-vous seulement les 5
premiers jours de la semaine d’une part, et ceux du
week-end d’autre part? Utilisez pour cela l’indiçage.
2. Cherchez un autre moyen pour arriver au même résultat (en utilisant
un autre indiçage).
3. Trouvez deux manières pour accéder au dernier jour de la semaine.
4. Inversez les jours de la semaine en une commande.

II. Répondez à la question suivante en une seule commande. Combien y a-


t-il de nombres pairs dans l’intervalle [2, 10000]
inclus?

Informatique 2 28
Langage de programmation Python

Listes

Corrigé 3:

I. semaine=['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanc
he'].
1. JoursOuvrable=semaine[0:5]
WeekEnd=semaine [5:7]
2. JoursOuvrable=semaine [-7:-2]
WeekEnd=semaine [-2:]
3. dernierJour=semaine[6]
dernierJour=semaine[-1]
dernierJour=semaine[len(semaine)-1]
4. semaine2=semaine[-1::-1].

II. nbrPairs= len(list(range(2,10001,2)))

Informatique 2 29
Langage de programmation Python

Listes

Listes de listes:

animal1= ['girafe', 4]
animal2 = ['tigre', 2]
animal3 = ['singe', 5]

zoo=[animal1, animal2, animal3] zoo=

Pour accéder à un élément de la liste, on utilise l’indiçage habituel :


test=zoo[1] #test= ['tigre ', 2]

Pour accéder à un élément de la sous-liste, on utilise un double indiçage :


test2=zoo[2][0] #test2='singe'

Informatique 2 30
Langage de programmation Python

Listes

Exercice 4:

Créez 4 listes hiver, printemps, été et automne contenant les mois


correspondants à ces saisons.
Créez ensuite une liste saisons contenant les listes hiver, printemps, été et
automne.
Prévoyez ce que renvoient les instructions suivantes.

1. saisons[2]
2. saisons[1][0]
3. saisons[2:3]
4. saisons[:][2]

Informatique 2 31
Langage de programmation Python

Listes

Corrigé 4:

hiver=['jan','fev','mar']
printemps=['avr','mai','jui']
été=['jul','aou','sep']
automne=['oct','nov','dec']

saisons=[hiver,printemps,été,automne]

1. ['jul', 'aou', 'sep']


2. 'avr'
3. [['jul', 'aou', 'sep']]
4. ['jul', 'aou', 'sep']

Informatique 2 32
Langage de programmation Python

Conditions

Opérateurs logiques:

Syntaxe Python Signification


== égal à
!= différent de
> supérieur à
>= supérieur ou égal à
< inférieur à
<= inférieur ou égal à

Informatique 2 33
Langage de programmation Python

Conditions

Forme minimale:

if a > 0:
print("a est supérieur à 0")

L’instruction « print("a est supérieur à 0") » ne sera exécuté que si a est


supérieur de 0

Les blocs d'instructions dans les tests doivent forcément être indentés.
L'indentation indique la portée des instructions à exécuter si le test est vrai.

La ligne qui contient l'instruction if se termine par le caractère deux-points «:»

Informatique 2 34
Langage de programmation Python

Conditions

Forme complète:

if age >= 18:


print("Vous êtes majeur.")
else:
print("Vous êtes mineur.")

L’instruction else doit se trouver au même niveau d'indentation que


l'instruction if qu'elle complète.

la ligne qui contient l'instruction else se termine par le caractère deux-points
«:»

Python exécute soit le bloc du if soit le bloc du else, et jamais les deux.

Informatique 2 35
Langage de programmation Python

Conditions

Forme complète:

if a > 0:
print("a est positif.")
elif a < 0:
print("a est négatif.")
else:
print("a est nul.")

L’instruction elif doit se trouver au même niveau d'indentation que


l'instruction if qu'elle complète.

la ligne qui contient l'instruction elif se termine par le caractère deux-points
«:»

Informatique 2 36
Langage de programmation Python

Conditions

Importance de l’indentation:
nombres = [4, 5, 6] nombres = [4, 5, 6]
if nb in nombres : if nb in nombres :
if nb == 5: if nb == 5:
print (" Le test est vrai ") print (" Le test est vrai ")
print (" car la variable nb vaut {}". format (nb )) print (" car la variable nb vaut {}". format (nb ))

Les deux codes pourtant très similaires produisent des résultats très différents.
Si vous observez avec attention l’indentation des instructions sur la ligne 5, vous
remarquerez que dans le code 1, l’instruction est indentée deux fois, ce qui
signifie qu’elle appartient au bloc d’instructions du test « if n==5 ». Dans le code
2, l’instruction de la ligne 5 n’est indentée qu’une seule fois, ce qui fait qu’elle
n’appartient plus au bloc d’instructions du test « if nb==5 » mais plutôt au bloc
d’instructions du test « if nb in nombres » .

Informatique 2 37
Langage de programmation Python

Conditions

Tests multiples:

Les tests multiples permettent de tester plusieurs conditions en même temps


en utilisant des opérateurs booléens.
Condition 1 Opérateur Condition 2 Résultat Condition 1 Opérateur Condition 2 Résultat
Vrai and Vrai Vrai Vrai or Vrai Vrai
Vrai and Faux Faux Vrai or Faux Vrai
Faux and Vrai Faux Faux or Vrai Vrai
Faux and Faux Faux Faux or Faux Faux

x=2
y=2
if x == 2 and y == 2:
print (" le test est vrai ")

Informatique 2 38
Langage de programmation Python

Conditions

Exercice 5:

afficher :
• "Reçu avec mention Assez Bien " si une note est supérieure ou égale à 12,
• "Reçu mention Passable" si elle est supérieure à 10 est inférieure à 12
• "Insuffisant" dans tous les autres cas.

Informatique 2 39
Langage de programmation Python

Conditions

Corrigé 5:

note=float(input("Veuillez saisir une note :"))


if(note>=12):
print("Reçu avec mention AB")
elif(note>=10):
print("Reçu mention Passable")
else:
print("Insuffisant")

Informatique 2 40
Langage de programmation Python

Boucles

Boucle while:

i=1
while i <= 4:
print (i)
i=i+1

Une série d’instructions est exécutée tant qu’une condition est vraie

Une boucle while nécessite généralement trois éléments pour fonctionner


correctement :
1. Initialisation de la variable d’itération avant la boucle.
2. Test de la variable d’itération associée à l’instruction while.
3. Mise à jour de la variable d’itération dans le corps de la boucle.

Attention au caractère deux-points « : » à la fin de la ligne débutant par while.


Informatique 2 41
Langage de programmation Python

Boucles

Boucle for:

animaux = [' girafe ', 'tigre ', 'singe ', 'souris ']
for animal in animaux :
print ( animal )

La variable animal est appelée variable d’itération, elle prend successivement
les différentes valeurs de la liste animaux à chaque itération de la boucle, une
fois la boucle terminée, cette variable d’itération animal ne sera pas détruite et
contiendra ainsi la dernière valeur de la liste animaux (ici la chaîne de caractères
souris).
Attention au caractère deux-points « : » à la fin de la ligne débutant par for.

Informatique 2 42
Langage de programmation Python

Boucles

Boucle for:

animaux = [' girafe ', 'tigre ', 'singe ', 'souris ']
for i in range (4):
print ( animaux [i])

La variable i prendra les valeurs successives 0, 1, 2 et 3 et on accèdera à


chaque élément de la liste animaux par son indice

Informatique 2 43
Langage de programmation Python

Boucles

Exercice 6:

Créez un script qui dessine un triangle comme celui-ci :


*
**
***
****
*****
******
*******
********
*********
**********

Informatique 2 44
Langage de programmation Python

Boucles

Corrigé 6:

for i in range(10):
j=1
while(j<=i+1):
print("*", end="")
j+=1
print("")

Informatique 2 45
Langage de programmation Python

Tuples

Un tuple est une liste qui ne peut plus être modifiée. Pratiquement, ils utilisent
les parenthèses au lieu des crochets.

Exemple:
a=()
b=(5,)
mon_tuple = (1, "ok", "olivier")

L’affectation et l’indiçage fonctionnent comme avec les listes. Mais si on essaie


de modifier un des éléments du tuple, Python renvoie un message d’erreur. Si
vous voulez ajouter un élément (ou le modifier), vous devez créer un autre
tuple.

Informatique 2 46
Langage de programmation Python

Dictionnaires

Les dictionnaires sont des collections non ordonnées d’objets, c’est-à-dire qu’il
n’y a pas de notion d’ordre (pas d’indice). On accède aux valeurs d’un
dictionnaire par des clés.

Exemple:
a={}
a["nom"] = "Wayne"
a["prenom"] = "Bruce"
b = {" nom ":" singe ", " poids ":70 , " taille ":1.75}

Pour récupérer la valeur associée à une clé donnée, il suffit d’utiliser la syntaxe
suivante dictionnaire["cle"].

 c= a["nom"] #c="Wayne"

Informatique 2 47
Langage de programmation Python

Dictionnaires

Itération sur les clés:

animal1 = {'nom':’singe', 'poids':70 , 'taille':1.75}


for key in animal1 :
 print (key)

OU

animal1 = {'nom':’singe', 'poids':70 , 'taille':1.75}


for key in animal1 .keys():
 print(key)

Itération sur les valeurs:

animal1 = {'nom':’singe', 'poids':70 , 'taille':1.75}


for value in animal1 .values():
 print(value)
Informatique 2 48
Langage de programmation Python

Fonctions

Les fonctions sont très utiles pour réaliser plusieurs fois la même opération au
sein d’un programme. Elles rendent également le code plus lisible et plus clair en
le fractionnant en blocs logiques.

Exemple de fonctions internes de Python: range(), len(), print(),input(),…

On lui passe aucune, une ou plusieurs variable(s) entre parenthèses. Ces
variables sont appelées arguments.
Elle effectue une action.
Elle renvoie un objet Python ou rien du tout.

Les méthodes comme ma_liste.append() ou chaine_de_caractere. format() sont


des fonctions qui agissent sur l’objet auquel elles sont attachées par un point.

Informatique 2 49
Langage de programmation Python

Fonctions

Définition :

Pour définir une fonction, Python utilise le mot-clé def et si on veut que celle-ci
renvoie quelque chose, il faut utiliser le mot-clé return.

Exemple:
def carre (x):
return x **2

print(carre(3))

NB: la syntaxe de def utilise les deux-points comme les boucles et les tests, un
bloc d’instructions est donc attendu. L’indentation de ce bloc d’instructions est
obligatoire.

Informatique 2 50
Langage de programmation Python

Fonctions
Passage d’arguments:

Dans les fonctions en Python vous n’êtes pas obligé de préciser le type des
arguments que vous lui passez, dès lors que les opérations que vous effectuez
avec ces arguments sont valides.
def fois (x, y):
print( x*y )

fois (2, 3)
fois (3.1415 , 5.23)
fois ('to ', 2)
Si vous passez un seul argument à une fonction qui en attend deux, conduit à
une erreur. Exemple: fois(2) => Erreur!
Mais il est aussi possible de passer un ou plusieurs argument(s) de manière
facultative et de leur attribuer une valeur par défaut :
def fct (x =1):
print(x)
fct ()
Informatique 2 51
Langage de programmation Python

Fonctions

Renvoi de résultats:

Un énorme avantage en Python est que les fonctions sont capables de renvoyer
plusieurs objets à la fois.
def carre_cube (x):
return (x**2 , x **3)
def carre_cube2(x):
return [x**2 , x **3]
carre_cube (2)

Python ne renvoie qu’un seul objet, dans la 1ere fonction Python renvoie un
objet de type tuple, dans la 2ème une liste.

Informatique 2 52
Langage de programmation Python

Fonctions

Exercice 7:

Créez une fonction calc_puissance(x, y) qui renvoie en utilisant l’opérateur


**. Pour rappel :
2**2=4
2**3=8
2**4=16
Dans le programme principal, calculez et affichez à l’écran 2 avec i variant de 0 à
20 inclus. On souhaite que le résultat soit présenté avec le formatage suivant :
2^ 0 = 1
2^ 1 = 2
2^ 2 = 4
[...]
5 2^20 = 1048576

Informatique 2 53
Langage de programmation Python

Fonctions

Corrigé 7:

def calc_puissance(x,y):
return x**y

for i in range(21):
print("2^" , i , "= " , calc_puissance(2,i) )

Informatique 2 54