0% ont trouvé ce document utile (0 vote)
17 vues114 pages

Python - Partie1

Transféré par

enamichak00
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)
17 vues114 pages

Python - Partie1

Transféré par

enamichak00
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/ 114

PYTHON

La programmation pour tout le monde

Pr CHAKRAOUI Mohamed
OBJECTIFS

Dans ce cours, vous apprendrez tous les aspects fondamentaux de la


programmation informatique nécessaires à la conduite de la recherche.
À la fin du cours, vous pourrez utiliser ces outils pour importer des
données en Python, effectuer une analyse sur ces données et exporter les
résultats sous forme de graphiques, de fichiers texte ou de tout autre
élément dont vous pourriez avoir besoin. En apprenant comment
apprendre à l'ordinateur pour faire votre travail pour vous.
OBJECTIFS

• Écrire des programmes informatiques simples en Python


• Automatiser l'analyse des données
• Appliquer ces outils pour répondre à des problématiques
• Apprendre et comprendre les concepts de programmation qui
aideront à utiliser d'autres langues
PYTHON

Python est un langage de programma1on de 1. PRINT "WELCOME TO


haut niveau, interprété, et orienté objet. Créé PYTHON!"
par Guido van Rossum et d'abord publié en
1991.
Python est conçu pour être simple, lisible et
Exécuter
polyvalent. Voici quelques caractéris1ques clés
de Python :
1. Syntaxe Lisible Welcome to Python!
2. Interprété :
3. Orienté Objet :
4. Vaste Bibliothèque Standard
5. Communauté AcFve
6. UFlisé dans Divers Domaines
7. Open Source
VARIABLES 1. # Écrivez votre code ci-dessous!
2. my_var = 10
3. " la valeur de ma variable = ", my_var
La création d'applications Web, de jeux et de
moteurs de recherche implique de stocker et de
travailler avec différents types de données. Ils le
font en utilisant des variables.
• Une variable stocke une donnée et lui Exécuter
donne un nom spécifique. Par exemple:

a=5 la valeur de ma variable = 10


La variable a stocke maintenant le nombre 5.

Exercice :
Définissez la variable my_var égale à la Valeur
10. puis imprimer cette variable.
VARIABLES
1. # Écrivez votre code ci-dessous!
2. my_variable = 10
Les variables peuvent être de l'un des types 3. print " la valeur de mon variable", my_variable
suivants:
• Numérique
• Chaine de caractère (Alphanumérique)
• Booléen Exécuter
Les variables numériques sont susceptibles de
recevoir des nombres. Il existe également
plusieurs types numériques tels que: # Définissez les variables aux valeurs
# listées dans les instructions!
my_int = 7
my_float = 1.23
print " la valeur de ma variable", my_float
V O U S AV E Z É T É A F F E C T É ! 1. my_int = 7
2. my_int = 3
3. print " la valeur de my_int = ", my_int
Maintenant, vous savez comment utiliser les
variables pour stocker des valeurs. Dites my_int =
7.Vous pouvez changer la valeur d'une variable
en la "réaffectant", comme ceci:

Exécute
my_int = 3

la valeur de my_int = 3
L'INSTRUCTION 1. # Écrivez votre code ci-dessous!
D’AFFECTATION 2. A = 10
3. B = A + 3
L'instruction d’affectation permet d'attribuer une 4. A = 3
valeur (non définitive) a une variable déclarée.
L’affectation s’effectue en utilisant le symbole ( = ). 5. Print " A = ", A
6. print " B = ", B
x=5
y=9
Exécuter
• On peur affecter a une variable le contenu
d'une autre variable
A=3
y=x
B = 13
• On peur incrémenter la valeur d'une même
variable sans utiliser une deuxième variable

x= x+ 1
1. # Écrivez votre code ci-dessous!
L'INSTRUCTION 2. A = 5
D’AFFECTATION
3. B = 3
4. C = A + B
L'instruction d’affectation permet d'attribuer une
5. A = 3
valeur (non définitive) a une variable déclarée.
L’affectation s’effectue en utilisant le symbole ( = ). 6. B = C – 2
x=5 7. print " A = ", A
y=9
8. print " B = ", B
• On peur affecter a une variable le contenu 9. print " C = ", C
d'une autre variable
x=y
Exécuter
• On peur incrémenter la valeur d'une même
variable sans utiliser une deuxième variable
A=3
x=x+1 B=6
C=8
1. # Écrivez votre code ci-dessous!
L'INSTRUCTION 2. A = 5
D’AFFECTATION 3. B = A + 4
4. A = A + 1
L'instruction d’affectation permet d'attribuer une 5. B = A - 4
valeur (non définitive) a une variable déclarée. 6. C = A – B
L’affectation s’effectue en utilisant le symbole ( = ).
7. Print " A = ", A
x=5 8. print " B = ", B
y=9
9. print " C = ", C
• On peur affecter a une variable le contenu
d'une autre variable
Exécuter
x=y
• On peur incrémenter la valeur d'une même A=6
variable sans utiliser une deuxième variable
B=2
x= x+ 1
C=4
1. # Écrivez votre code ci-dessous!
L'INSTRUCTION 2. A = 5
D’AFFECTATION
3. B = 6
4. C = A
Exercice :
5. A = B
écrire un algorithme permettant d'echanger les
valeurs de deux variables A et B, et ce quel que 6. B = C
soit leur contenu préalable. 7. Print " A = ", A
8. print " B = ", B
9. print " C = ", C

Exécuter

A=6
B=5
C=5
1. # Définissez les variables aux valeurs
BOOLÉENS listées dans les instructions!
2. my_int = 7
Les nombres sont un type de données que nous 3. my_float = 1.23
utilisons dans la programmation. Un deuxième type
de données s'appelle un booléen. 4. my_bool = True
• Un booléen est comme un interrupteur d'éclairage. 5. print " la valeur de ma variable ",my_bool
Il ne peut avoir que deux valeurs.Tout comme un
interrupteur ne peut être activé ou désactivé, un
booléen ne peut être que Vrai (True) ou Faux
(False.). Exécuter
• Vous pouvez utiliser des variables pour stocker
des booléens comme ceci:
la valeur de ma variable True
A = True
b = False
Exercice : Définissez les variables suivantes sur les
valeurs
correspondantes:
• my_int à la valeur 7
• my_float à la valeur 1.23
• my_bool à la valeur True
# Écrivez votre commentaire ici
COMMENTAIRES # Écrivez un autre

Les commentaires rendent votre programme plus " " " Siégeant de ta tasse jusqu'à ce
facile à comprendre. Lorsque vous regardez votre que ça coule,
code ou que d'autres veulent collaborer avec vous, Saint Graal.
ils peuvent lire vos commentaires et facilement
comprendre ce que fait votre code. """
• Le signe # est pour les commentaires. Un
commentaire est une ligne de texte que Python
n'essaiera pas d'exécuter en tant que code. C'est
juste pour les humains à lire. Exécute
• Vous pouvez écrire un commentaire multi-ligne,
en commençant chaque ligne avec #, cela
peut être une douleur.

• Au lieu de cela, pour les commentaires sur


plusieurs lignes, vous pouvez inclure le bloc
entier dans un ensemble de guillemets (" " " )
LES MATHS

1. count = 10000 + 50000


Vous pouvez ajouter, soustraire, multiplier,
diviser des nombres comme celui-ci 2. print count

addition = 72 + 23 Exécut
e
subtraction = 108 - 204
multiplication = 108 * 0.5
division = 108 / 9 60000

Exercice : Définissez la variable count égale à la


somme de deux grands nombres.
LES MATHS

Opéra&ons Mathéma&ques de Base: 1. x = 10**2


Python offre un large éventail de fonc4onnalités pour
travailler avec les mathéma4ques, grâce à ses 2. print x
bibliothèques intégrées et à des bibliothèques 4erces
spécialisées. Voici quelques points clés pour travailler
avec les mathéma4ques en Python :
Exécut
a=5 e
b=2 100
addition = a + b
soustraction = a - b Tout ce calcul peut être fait sur une
multiplication = a * b calculatrice, alors pourquoi utiliser Python?
division = a / b
ü Parce que vous pouvez combiner les
mathématiques avec d'autres types de
données (par exemple, des booléens) et
Exercice :
Créez une nouvelle variable appelée x et
des commandes pour créer des
utilisez des exposants pour définir x égal à programmes utiles. Les calculatrices se
100. contentent de chiffres.
LES MATHS

Module Mathématique Standard :


Le module math de la bibliothèque standard de Python offre un large éventail de fonctions
mathématiques plus avancées, telles que les fonctions trigonométriques, exponentielles,
logarithmiques, etc.

import math

angle = math.radians(45) # Conversion d'angle en radians


cos_value = math.cos(angle)
exponentielle = math.exp(2)
logarithme = math.log(10)

Opérations sur les Nombres Complexes :


Python prend également en charge les nombres complexes et offre des fonctions pour effectuer des
opérations sur eux.

complex_number = 3 + 4j
conjugate = complex_number.conjugate()
LES MATHS: MODULO

b= 7 % 4
Notre opérateur final est le modulo. Modulo print b
renvoie le reste d'une division euclidienne.
Donc, si vous tapez 3 % 2, cela retournera 1

Exécut
a=3%2 e

3
Exercice :

Utilisez modulo pour définir une variable b


égale à 3.
Recaputilatif
SYNTHÈSE DE PYTHON
1. # Écrivez votre code ci-dessous!
2. A = 5 # Variable A Jusqu'à présent, vous avez appris :
3.B = A + 4 # Affectation ‘=‘ • Variables, qui stockent des valeurs
4. A = A + 1 pour une utilisation ultérieure
• Types de données, tels que les nombres
5. my_int = 7 # Variable entier
et les booléens
6. my_float = 1.23 # Variable réel
• Commentaires, qui facilitent la lecture
7. my_bool = True # Variable de votre code
Boolean (or False)
• Opérations arithmétiques, y compris +, -,
8. count = 10000 + 50000 # addition *, /, ** et %
9. eggs = 10**2 # exponentiel
10.spam= 7 % 4 # Modulo
11.Print " A = ", A # Impression
1. brian = "hello GMS!«
STRINGS 2. # Affectez vos variables ci-dessous,
chacune sur sa propre ligne!

Un autre type de données utile est la chaîne 3. prenom = "ali"


de caractère. Une chaîne peut contenir des 4. firstName = "Ahmed"
lettres, des chiffres et des symboles.
5. name = “Karim"
name = "ali" 6. # afficher vos variables
age = "19"
food = "cheese" 7. print prenom
8. print firstName
Les chaînes de caractères doivent être entre 9. print name
guillemets.
Exercice :
• Créez une nouvelle variable et attribuez-lui la Exécute
chaîne "Hello GMS!".
• Définissez et imprimer les variables suivantes ali
• Affecter prenom à "ali" Ahmed
• Affecter firstName à "Ahmed" Karim
• Affecter name à “Karim"
""“
La chaîne "PYTHON" a six caractères,
STRINGS: ACCÈS PAR INDEX numérotés de 0 à 5, comme indiqué ci-dessous:
+---+---+---+---+---+---+
|P|Y|T|H|O|N|
Chaque caractère d'une chaîne est attribué +---+---+---+---+---+---+
un numéro. Ce nombre est appelé l'indice. 0 1 2 34 5

Donc, si vous vouliez "Y", vous pouviez


simplement taper "PYTHON" [1]
(toujours compter à partir de 0!)
c = "cats"[0]
"""
n = "Ryan"[3]
fifth_letter = "MONTY"[4]
Dans l'exemple ci-dessus, nous créons une print fifth_letter
nouvelle variable appelée c et le mettre à « c
», le caractère à l'indice zéro de la chaîne «
chats ».
Exécute
En Python, nous commençons à compter
l'indice de zéro au lieu d'un.
Y
Exercice :
Quelle est le résultats de « print fifth_letter »
FONCTIONS INTÉGRÉES

Une fonction (ou function) est une suite d'instructions regrouper et définie
par un nom et que on peut l’appeler avec ce nom.

Les fonctions intégrées au langage sont les fonction prédéfinie dans un


langage de programmation.

Les fonctions intégrées au langage sont relativement peu nombreuses :


ce sont seulement celles qui sont susceptibles d'être utilisées très
fréquemment.

Voyons comment nous pouvons changer les chaine de caractères en


utilisant ces méthodes.
1. # La sortie sera le nombre de lettres
MÉTHODES DE STRINGS en "Norwegian Blue"!
2. pays = " Le Maroc"
• Les méthodes de String permettent d'effectuer 3. print len(pays)
des tâches spécifiques sur les chaînes.
• Nous allons nous concentrer sur 4 méthodes:
• len()
• lower()
• upper()
• str()
Commençons par la plus simple len (…), qui Exécute
obtient la longueur (le nombre de caractères)
d'une chaîne!
8
Exercice :
créer une variable nommée pays et la définir
sur la chaîne "Le Maroc” et afficher le nombre
de caractères de la variable pays.
MÉTHODES DE STRINGS:
pays = " le Maroc"
LOWER()& UPPER()
print pays.lower()
Vous pouvez utiliser la méthode lower () pour print "Le Maroc ".lower()
vous débarrasser de toutes les majuscules
dans vos chaînes.Vous appelez lower () print pays.upper()
comme ça: print "Le maroc".upper()
"Ali".lower()
Ce qui retournera « ali ». Maintenant, votre Exécute
chaîne est 100% minuscule! le maroc
Upper() est une méthode similaire pour faire une le maroc
chaîne complètement en majuscule.
LE MAROC
"ALI".upper() LE MAROC
Ce qui retournera « ALI ».
MÉTHODES DE STRINGS:
STR()

Maintenant, regardons str (), ce qui est un peu


moins simple. La méthode str () transforme les 1. pi = str(3.14) + 1
non- chaînes en chaînes! Par exemple:
2. print pi

str(2)

Exécute
Ce qui fait de 2 un "2" .
Traceback (most recent call last):
File "python", line 4, in <module>
TypeError: cannot concatenate 'str'
C’est quoi la différence.???????
and 'int' objects
1. # instruction print
Imprimer des String 2. count = 1000
3. print “ Imprimer dans la console “
• La zone où nous avons écrit notre code 4. print count
s'appelle l'éditeur. 5. print “ Imprimer une variable “ , count
• La console (la fenêtre à droite de l'éditeur)
est l'endroit où les résultats de votre code
sont affichés.
Exécuter

• print affiche simplement votre


code dans la console. Imprimer dans la console
1000
Imprimer une variable 1000
1. # instruction print
Concaténation des String 2. count = 1000
3. print “ Imprimer dans la console “
• Vous connaissez les chaînes de caractères 4. print count
et vous connaissez les opérateurs 5. print “ Imprimer une variable “ , count
arithmétiques. Maintenant, combinons les
deux!

print "Life " + "of " + "Brian"


Exécuter

• Cela va imprimer la phrase Life of Brian Imprimer dans la console


1000
Imprimer une variable 1000
1. # Imprimez la concaténation de
CONCATÉNATION DES STRING "nom and prenom" sur la ligne 3!

• Vous connaissez les chaînes de caractères 2. print "nom" + " and " + "prenom"
et vous connaissez les opérateurs
arithmétiques. Maintenant, combinons les
deux!

print "Life " + "of " + "Brian"


Exécuter

• Cela va imprimer la phrase Life of Brian


nom and prenom
L'opérateur « + » entre les chaînes les
"ajoute" l'une après l'autre. Notez qu'il y a
des espaces à l'intérieur des guillemets
après "life” et de sorte que nous pouvons
faire ressembler la chaîne combinée à 3
mots.
LES MATHS

Python peut faire tout ce qui est sur une


calculatrice, est plus?
• Avant d'essayer d’aller plus loin, voyons Avez-vous vu ça? Python a déclaré:
que Python sait déjà des racines NameError: le nom 'sqrt' n'est pas
carrées... Demandant à Python de faire la défini. Python ne sait pas encore ce
racine carrée de 25. que sont les racines carrées. Donc il
print sqrt(25) faut ajouter la bibléothèque math
(module)
Maintenant, travaillons avec les exposants.

Traceback (most recent call last): File


"python", line 2, in <module> NameError:
name 'sqrt' is not defined
IMPORTATIONS Pour utiliser des fonctions de modules dans un
programme, il faut au début du fichier importer
ceux-ci.

len(“ali”)

Module
Les fonctions intégrées au langage sont
relativement peu nombreuses : ce sont
seulement celles qui sont susceptibles d'être
utilisées très fréquemment. Les autres sont Module
Import
regroupées dans des fichiers séparés que l'on
appelle des modules.
Les modules sont donc des fichiers qui
regroupent un ensembles de fonctions. Il
existe un grand nombre de modules pré- Mon Code
programmés qui sont fournis d'office avec
Python.
IMPORTATIONS:
IMPORTATION GÉNÉRIQUE Pour utiliser des fonctions de modules dans un
programme, il faut au début du fichier importer
ceux-ci.
Il existe un module Python nommé math
qui inclut un certain nombre de variables
et de fonctions utiles, et sqrt () est l'une
Module
de ces fonctions. Pour accéder aux
mathématiques, tout ce dont vous avez
besoin est le mot-clé import. Lorsque
Module
vous importez simplement un module de Import
cette façon, cela s'appelle une
importation générique.

Mon Code
import math
print math.sqrt(25)
IMPORTATIONS DE
FONCTIONS Pour utiliser des fonctions de modules dans un
programme, il faut au début du fichier importer
ceux-ci.
Il est possible d'importer uniquement
certaines variables ou fonctions d'un
module donné. Extraire une function d’un
module s'appelle importation de fonction, et Module

c'est ait avec le mot-clé from:

Module
Import
from math import sqrt
print sqrt (25)

Maintenant, vous pouvez simplement Mon Code

taper sqrt () pour obtenir la racine


carrée d'un nombre.
IMPORTATIONS
UNIVERSELLES Pour utiliser des fonctions de modules dans un
programme, il faut au début du fichier importer
ceux-ci.
Que faire si nous voulons toujours toutes les variables et
les Fonctions dans un module, mais ne veulent pas
avoir à taper constamment des maths.?
Module

from math import * Module


Import
print sqrt (25)

Mon Code
LES FLUX DE CONTROLE

Mon Code

Les programmes Python que nous avons écrits


jusqu'ici ont eu un esprit unique: ils peuvent F_
additionner des nombres ou imprimer quelque
chose, mais ils n'ont pas la possibilité de choisir ?C
l'un de ces résultats par rapport à l'autre.

Les flux de contrôle en Python permeEent


de diriger l'exécu1on du programme en fonc1on de Résultat 2 Résultat 1
certaines condi1ons.
1. 3 == 3
COMPARER !
True
2. 3 == 6
• Commençons par l'aspect le plus simple du
flux de contrôle: les comparateurs. Il y'en False
a six:
Égal à (==) 1. 3 != 6
Different de (! =) True
Inférieur à (<) 2. 3 != 3
False
Inférieur ou égal à (<=)
Supérieur à (>) 1. 3 < 6
True
Supérieur ou égal à (> =)
2. 6 < 3
Notez que == compare si deux choses sont False
égales, et = assigne une valeur à une variable.
1. 3 <= 3
COMPARER !
True
• Commençons par l'aspect le plus simple du 2. 6 <= 3
flux de contrôle: les comparateurs. Il y’en False
a six:
Égal à (==) 1. 6 > 3
Different de (! =) True
2. 3 > 6
Inférieur à (<)
False
Inférieur ou égal à (<=)
1. 6 >= 6
Supérieur à (>)
True
Supérieur ou égal à (> =) 2. 3 >= 6
Notez que == compare si deux choses sont False
égales, et = assigne une valeur à une variable.
1. # Réglez ce paramètre sur Vrai
si 17 <328
COMPARER !
2. ResBool =

1. # Réglez ce paramètre sur


• Exercice Vrai si 100 == (2 * 50)
• Définissez chaque variable sur Vrai ou 2. ResBool =
Faux en fonction de ce que vous pensez
que le résultat sera. Par exemple, 1 <2
sera True, car 1 est inférieur à 2. 1. Réglez ce paramètre sur Vrai si
-22> = -18
ResBool =

1. # C’est quoi le resultat de print


ResBool
2. ResBool = (-22> = -18)
3. print ResBool
X = True
Y = False
UTILISER LES BOOLEAN If( X and Y):
Print(“true”)
Else :
Les opérateurs booléens comparent les print(“False”)
instructions et produisent des valeurs
booléennes. Il y a trois opérateurs booléens:

and qui vérifient si les deux instructions


sont vraies; Exécuter

qui vérifie si au moins l'une


or
des déclarations est True;

ce qui donne le contraire de


not la déclaration.
LES OPÉRATEURS BOOLÉENS
and

qui vérifie si les deux instructions


and X Y X and Y
sont vraies;

• L'opérateur booléen and renvoie True True True True


lorsque les expressions des deux côtés
de and sont vraies. False True False

2 < 3 and 3 < 4 True True False False

2 > 3 and 3 < 4 False False False False


LES OPÉRATEURS BOOLÉENS 1. A = False and False
2. B = -(-(-(-2))) == -2 and 4 >= 16**0.5
3. C = 19 % 4 != 300 / 10 / 10 and False
qui vérifie si les deux 4. D=-(1**2) < 2**0 and 10 % 10 <= 20 -
and instructions sont vraies; 10*2
5. print A, B, C, D
• L'opérateur booléen and renvoie True
lorsque les expressions des deux côtés
de and sont vraies. Exécuter

2 < 3 and 3 < 4 True

2 > 3 and 3 < 4 False


LES OPÉRATEURS BOOLÉENS
or
qui vérifie si au moins l'une
or des déclarations est True;
X Y X or Y

• L'opérateur booléen or retourne True True True True


lorsque au moins une expression de chaque
côté de ou est vraie. Par exemple: False True True

2 < 3 or 3 < 4 True True False True

2 > 3 or 3 < 4 True False False False

2 > 3 or 3 > 4 False


LES OPÉRATEURS BOOLÉENS
or
qui vérifie si au moins l'une des
or déclarations est True;
X Y X or Y

• L'opérateur booléen or retourne True True True True


lorsque au moins une expression de
chaque côté de ou est vraie. Par exemple: False True True

2 < 3 or 3 < 4 True True False True

2 > 3 or 3 < 4 True False False False

2 > 3 or 3 > 4 False


LES OPÉRATEURS BOOLÉENS 1. A = 2**3 == 108 % 100 or ‘ali' ==
‘ahmed’
2. B = True or False
qui vérifie si au moins l'une
or des déclarations est True; 3. C = 100**0.5 >= 50 or False
4. D = 1**100 == 100**1 or 3 * 2 * 1 != 3
+2+1
• L'opérateur booléen or retourne True 5. print A, B, C, D
lorsque au moins une expression de
chaque côté de ou est vraie. Par exemple:
Exécuter

2 < 3 or 3 < 4 True

2 > 3 or 3 < 4 True

2 > 3 or 3 > 4 False


LES OPÉRATEURS BOOLÉENS
not
Ce qui donne le contraire de la
not déclaration.
X Not X

• L'opérateur booléen not renvoie True pour True False


les fausses instructions et False pour les
vraies instructions. Par exemple: False True

not False True

not 2 > 3 True

not 3 < 4 False


LES OPÉRATEURS BOOLÉENS 1. A = not True
2. B = not 3**4 < 4**3
Ce qui donne le contraire de la 3. C = not 10 % 3 <= 10 % 2
not déclaration.
4. D = not 3**2 + 4**2 != 5**2
5. E = not not False
• L'opérateur booléen not renvoie True pour
6. print A,B,C,D,E
les fausses instructions et False pour les
vraies instructions. Par exemple:
Exécuter

not False True

not 2 > 3 True

not 3 < 4 False


1. bool = True or not False and False
Ceci and cela ( or ceci, not ça!)
2. bool_one = False or not True and True

Les opérateurs booléens ne sont pas 3. bool_two = False and not True or True
simplement évalués de gauche à droite. 4. bool_three = True and not (False or False)
Tout comme avec les opérateurs 5. bool_four = not not True or False and not True
arithmétiques, il existe un ordre des
6. bool_five = False or not (True and True)
opérations pour les opérateurs booléens:

not évalué en premier;


and est évalué ensuite; Exécuter

Or est évalué en dernier.


True
Les parenthèses () s'assurent que vos
expressions sont évaluées dans l'ordre que
vous voulez. Tout ce qui est entre
parenthèses est évalué comme sa propre
unité.
UTILISER LES BOOLEAN
1. bool= (2 <= 2) and "ali" == "ahmed“
2. print bool

Exécuter

False
Syntaxe de l'instruction 1. reponse = "Y"
conditionnelle
2. answer = "Left"
The big IF 3. if answer == "Left“ :
4. print "bonjour”
If est une instruction conditionnelle qui
execute un code spécifié après avoir
vérifié si son expression est True.
Voici un exemple de syntaxe d'instruction
if: Exécuter

if 8 < 9:
print "Eight is less than nine!" 1. bonjour

Dans cet exemple, 8 <9 est l'expression


conditionnelle à contrôler et l'impression
"Huit est inférieur à neuf!" est le code
spécifié.
SYNTAXE DE L'INSTRUCTION 1. reponse = input (“Entrer un numero!")
CONDITIONNELLE
2. if int(reponse) > 0 :
The big IF
3. print “ton numero est positif"
Exercice 1:
Ecrire un algorithme qui demande un
nombre à l'utilisateur, et l'informe ensuite
si ce nombre est positif ou negatif (le cas
ou le nombre est nul n'est pas traité).
Exécuter

Entrer = input ()
1. Entrer un numero!
2. --
Entrer = input (“message de commande ”)
Syntaxe de l'instruction conditionnelle
1. reponse = "Y"
2. answer = "Left"
3. if answer == "Left " and reponse != "y":
The big IF
4. print "égalité!"
• if l'expression conditionnelle :
• Code spécifié.

Exécuter
• l'expression conditionnelle =
• (2 <= 2) and ”ali" == ”ahmed “
• Var1 > Var2 1. égalité!
• Bool1 == True
• Trouvé != False
SYNTAXE DE L'INSTRUCTION • note = input ("Entrez votre moyenne
CONDITIONNELLE obtenue au bac ")
• if note >= 10 :
The big IF
• print ("Vous êtes admis")

Exerice 2 :
Ecrire un programme demandant à
l'utilisateur de donner sa moyenne au
bac et affichant s'il est admis, Exécuter

Entrer qulques choses!!


SYNTAXE DE L'INSTRUCTION • if 8 > 9 :
CONDITIONNELLE
• print "I don't printed!"
• else:
The big IF / ELSE
• print "I get printed! "
L'instruction else complète l'instruction if. Une
paire if / else dit:
Si cette expression est vraie, exécutez ce bloc de
code en retrait, sinon, exécutez ce code après
l'instruction else."
Exécuter

1. I get printed!
Contrairement à si, sinon ne dépend pas
d'une expression.
SYNTAXE DE L'INSTRUCTION note = input ("Entrez votre moyenne obtenue au
bac")
CONDITIONNELLE
if note >= 12 and note <14 :
• print ("Mention AB")
• if note >= 14 and note<16 :
Exerice 2 : • print ("Mention B")
Ecrire un programme demandant à • if note >=16 :
l'utilisateur de donner sa moyenne au • print ("Mention TB")
bac et affichant s'il est admis, ainsi que
sa mention. Exécuter

[12-14] mention AB
[14-16] mention B
[16 - >16 ] mention A
SYNTAXE DE L'INSTRUCTION • note = int(input ("Entrez votre moyenne
CONDITIONNELLE obtenue au bac "))
• if note >= 10 :
• print ("Vous êtes admis")
• if note >= 12 and note <14 :
Exerice 2 :
Ecrire un programme demandant à • print ("Mention AB")
l'utilisateur de donner sa moyenne au • if note >= 14 and note<16 :
bac et affichant s'il est admis, ainsi que • print ("Mention B")
sa mention.
• if note >=16 :

[12-14] mention AB • print ("Mention TB")


[14-16] mention B • else
[16 - >16 ] mention A • print ("Vous n’êtes pas admis")
SYNTAXE DE L'INSTRUCTION • note = int(input ("Entrez votre moyenne obtenue au bac
"))
CONDITIONNELLE
• if note > 10 :
• print ("Vous êtes admis")
The big elif • Elif note < 10 :
Elif est l'abbreviation de "else if” cela • print ("Vous êtes rejetés ")
signifie exactement ce que cela ressemble: • Elif note == 10 :
“si non, si l’expression suivante est vraie, • print ("Vous êtes sauvés")
faites ceci!” • Else :
if 8 > 9: • print (" y a un problème là ")
print "I don't get printed!"
Exécuter
elif 8 < 9:
print "I get printed!"
else:
print "I also don't get printed!"

Dans l'exemple ci-dessus, l'instruction elif n'est


vérifiée que si l'instruction if d'origine est False.
TD
TD • Indices de correction
• poids = input("votre poids (kg) ? ")
• taille = input("votre taille (m) ? ")
Exercice : • imc = poids / (taille * taille)
L'indice de masse corporelle d'une personne peut être
calculé avec la formule suivante : • print "indice de masse corporelle :",
imc = poids / (taille2) imc
1. Écrire un programme qui demande à l'utilisateur les
paramètres nécessaires, calcule l'indice de masse
corporelle et affiche le résultat
2. Quels sont les paramètres ? Quels sont leur type ?
3. Comment calculer taille2 ?
TD • age = input("âge de la personne ?")
• if age > 60:
• print "c'est une personne âgée"
• elif age < 15:
Exercice :
– Demander l'âge de la personne • print "c'est un enfant"
–Si l'âge est supérieur à 60, afficher «c'est une
personne âgée» • else:
– Si l'âge est inférieur à 15, afficher «c'est un
enfant» • print "c'est un adulte"
– Sinon, afficher «c'est un adulte»
TD • age = input("âge de la personne ?")
• if age > 1:
• print "la personne a", age, "ans"
Exercice: • else:
– Demander l'âge de la personne et afficher «la • print "la personne a", age, "an"
personne a X an(s)», où X est la valeur entrée, et on ne
met un «s» à «ans» que si nécessaire
• if (fumeur == "oui") and (age > 60):
TD
• print "le patient est une personne âgée qui fume !"
• if (fumeur == "oui") or (age > 60):
• print "le patient est une personne âgée ou un fumeur!"

• if not(fumeur == "oui"):
Exercice :
• print "le patient est non fumeur!"
Écrire un programme qui demande à l'utilisateur si
c’est un fumeur ou non, puis demander l'âge de la
personne
–Si l'âge est supérieur à 60, afficher «le patient
est une personne âgée qui fume»
– Si l'âge est inférieur à 15, afficher «c'est un enfant
fumeur»
– Sinon, afficher «c'est un adulte fumeur »
– Sinon « le patient ne fume pas »
TD
• Pour vérifier le début et la fin d'une chaine sans
avoir à déterminer sur quelle longueur , on peut
utiliser "startswith()" et "endswith()", mais c'est
moins rapide car faisant appel à une fonction
Exercice : de plus haut niveau. (Référence nécessaire)
• if chain.startswith('1234'):
Écrire un programme qui demande à l'utilisateur
d'entrer son nom complet avec le prefixe et en fin son • print('ok')
pays, et qui affiche «C'est homme marocain» si celle ci
• if chain.endswith('89'):
commence par Mr et finit par maroc, et «Ce n'est pas
un marocain dans le cas contraire. • print('ok')
• existe = input("Est ce que l'animal existe encore
aujourd'hui ?")
TD • if existe == "oui":
• vole = input("Est ce que l'animal vole ?")
• if vole == "oui":
Exercice : • print "l'animal est un oiseau !"
• else:
Jeu : l'utilisateur doit penser à un animal,
• nage = input("Est ce que l'animal nage ?")
et le programme doit essayer de deviner
• if nage == "oui":
de quel animal s'agit-il en posant des
• print "l'animal est un poisson !"
questions aux-quelles l'utilisateur
• else:
répond par «oui» ou «non»
• print "l'animal est un chien !"
• else
:
• carnivore = input("Est ce que l'animal est carnivore
Pour simplifier, on se limite à 5 animaux ?")
: un oiseau, un poisson, un chien, un • if carnivore == "oui":
tyranosore (carnivore), un diplodocus • print "l'animal est un tyranosore !"
• else:
• print "l'animal est un diplodocus !"
PY T H O N
LES BOUCLE EN PYTHON

• En python, il existe principalement deux types de boucles : la boucle for et la boucle while.
Voici comment elles fonctionnent :
• Boucle for :
• La boucle for est utilisée pour itérer sur une séquence (comme une liste, une chaîne de caractères, un tuple, etc.) Ou sur
d'autres objets itérables.
• Le nombre d’iteration doit etre connu à l’avance

• Syntaxe :
for variable in sequence:
# Bloc de code à répéter pour chaque élément de la séquence
# ...
• Exemple:
fruits = ["pomme", "banane", "orange"]
for fruit in fruits:
print(fruit)
BOUCLE WHILE :
• La boucle while est utilisée pour répéter un bloc de code tant qu'une condition est vraie.
• Le nombre d’iterations n’est pas connu en avance
• Syntaxe :
While condition:
# Bloc de code à répéter tant que la condition est vraie
# ...
• Exemple
Count = 0
While count < 5:
Print(count)
Count += 1
CONTRÔLE DES BOUCLES :

v ‘BREAK’ : Termine la boucle prématurément. vELSE : Exécuté lorsque la condition de la


for fruit in fruits: boucle devienne fausse
IF FRUIT == "BANANE": FOR FRUIT IN FRUITS:
BREAK
PRINT(FRUIT)
PRINT(FRUIT)
v CONTINUE : Passe à l'itéra6on suivante sans ELSE:
exécuter le reste du bloc de code PRINT("LA BOUCLE EST
FOR FRUIT IN FRUITS: TERMINÉE.")
IF FRUIT == "BANANE":
CONTINUE
PRINT(FRUIT)
LA BOUCLE FOR

• UTILISATION DE RANGE :
• La fonction range est souvent utilisée pour générer une séquence de nombres à
utiliser dans une boucle for.
• EXEMPLE :
FOR I IN RANGE(5):
PRINT(I)
TD

1. Afficher des nombres de 1 à 5 :


1. utilisez une boucle for pour afficher les nombres de 1 à 5.

2.Table de multiplication :
1. utilisez une boucle for pour afficher la table de multiplication de 7 jusqu'à 10 (7x1, 7x2, ..., 7x10).

3. Somme des nombres pairs de 1 à 10 :


1. utilisez une boucle for pour calculer et afficher la somme des nombres pairs de 1 à 10.

4.Triangle d'étoiles :
1. utilisez une boucle for pour afficher un triangle d'étoiles comme suit :

*
**
***
****
*****
# Affichage des Nombres de 1 à 5
print("Affichage des Nombres de 1 à 5 :")
for i in range(1, 6):
print(i)
# Table de Multiplication
print("\nTable de Multiplication de 7 :")
TD for j in range(1, 11):
resultat = 7 * j
print(f"7 x {j} = {resultat}")
# Somme des Nombres Pairs de 1 à 10
sum_pairs = 0
print("\nSomme des Nombres Pairs de 1 à 10 :")
1.AFFICHAGE DES NOMBRES DE 10 À 1 : for k in range(1, 11):
if k % 2 == 0:
1. UTILISEZ UNE BOUCLE WHILE POUR AFFICHER sum_pairs += k
LES NOMBRES DE 10 À 1. print(f"La somme des nombres pairs est : {sum_pairs}")
# Triangle d'Étoiles
print("\nTriangle d'Étoiles :")
2.PUISSANCES DE 2 : for m in range(1, 6):
print("*" * m)
1. UTILISEZ UNE BOUCLE WHILE POUR AFFICHER # Affichage des Nombres de 10 à 1
LES PUISSANCES DE 2 JUSQU'À CE QUE LA print("\nAffichage des Nombres de 10 à 1 :")
n = 10
PUISSANCE DÉPASSE 1000. while n >= 1:
print(n)
• EXEMPLE DE STRUCTURE DE CODE : n -= 1
# Puissances de 2
print("\nPuissances de 2 jusqu'à 1000 :")
power = 1
while power <= 1000:
print(power)
power *= 2
1. zoo_animals = ["Tigre", "lion", "Singe" ]
INTRODUCTION AUX LISTES
2. if len(zoo_animals) == 3:
• Les listes sont un type de données que vous 1. print " le 1ere animal dans le zoo: " +
pouvez utiliser pour stocker une collection de zoo_animals[0]
différentes informations en tant que séquence 2. print " le 2eme animal dans le zoo: zoo_animals[1]
sous un même nom de variable. (Les types de 3. print " le 3eme animal dans le zoo: " +
données dont vous avez déjà entendu parler zoo_animals[2]
incluent les chaînes, les nombres et les
4. print " le 4eme animal dans le zoo: " +
booléens.)
zoo_animals[3]. ###?
En Python, une liste est une structure de données
flexible et mutable qui permet de stocker une
collection ordonnée d'éléments. Voici quelques Exécuter
aspects importants des listes en Python :
• On doit ajouter un élément dans la liste
list_name = [item_1, item_2] sinon ce code n’affiche rien.
fruits = ["pomme", "banane", "orange"]

• avec les éléments entre crochets.


Une liste peut également être vide:
empty_list = [].
1. numbers = [5, 6, 7, 8]
2. Print numbers [0] + numbers [2]
LISTES: ACCÈS PAR INDEX

• Vous pouvez accéder à un élément individuel de la


liste par son index.
• Rappelle : Un index est comme une adresse qui
identifie la place de l'élément dans la liste.
• L’index appareil directement après le nom de la
liste entre des crochets comme suivant:

list_name[index]
premier_fruit = fruits[0] Exécuter
deuxieme_fruit = fruits[1]

Exemple : Ecrire un code qui imprime le résultat


de la somme du deuxième et du quatrième
éléments de la liste. Assurez-vous d'accéder à la
liste par index!
1. numbers = [5, 6, 7, 8]
2. print numbers [1] + numbers [3]
LISTES: ACCÈS PAR INDEX
3. numbers [0] = 9
• Vous pouvez accéder à un élément individuel 4. print numbers [0]
de la liste par son index.

• Rappelle : Un index est comme une


adresse qui identifie la place de l'élément
dans la liste.

list_name[index] Exécuter

12
9
Exemple : Ecrire une déclaration qui imprime le
résultat de la somme du deuxième et du
quatrième élément de la liste. Assurez-vous
d'accéder à la liste par index!
1. letters = ['a', 'b', 'c’]
2. letters.append('d’)
LISTES: LONGUEUR DE LA LISTE
3. print len(letters)
4. print letters

• Une liste n’a pas une longueur fixe. Vous


pouvez ajouter des éléments à la fin d'une
liste quand vous le souhaitez!
Exécuter
4
['a', 'b', 'c', 'd']
LISTES: DÉCOUPAGE DES LISTES chain = "123456789"
print( chain[1:3] )
Le découpage (slicing) des listes en Python permet de
sélectionner des sous-listes en spécifiant un intervalle >>> 23
d'indices. Voici comment le découpage fonctionne :
print( chain[1:len(chain)] )
fruits = ["pomme", "banane", "orange", "fraise", >>> 23456789
"kiwi"]
# Sélectionne les éléments de l'indice 1 à 3 (non inclus)
Notation de Découpage : sous_liste1 = fruits[1:3] # ["banane", "orange"]
•liste[start:stop]: Sélectionne les éléments de l'indice
start jusqu'à (mais non inclus) l'indice stop. # Sélectionne les éléments de l'indice 2 jusqu'à la fin
sous_liste2 = fruits[2:] # ["orange", "fraise", "kiwi"]
•liste[start:]: Sélectionne les éléments de l'indice start
jusqu'à la fin de la liste. # Sélectionne les éléments du début jusqu'à l'indice 3 (non
•liste[:stop]: Sélectionne les éléments du début de la liste inclus)
jusqu'à (mais non inclus) l'indice stop. sous_liste3 = fruits[:3] # ["pomme", "banane", "orange"]
•liste[:]: Crée une copie de la liste entière.
# Copie la liste entière
copie_fruits = fruits[:] # ["pomme", "banane", "orange",
"fraise", "kiwi"]
LISTES: DÉCOUPAGE DES LISTES
1. letters = ['a', 'b', 'c', 'd', 'e’]
Parfois, vous voulez seulement accéder à une 2. slice = letters[1:3]
partie d'une liste. 3. print slice
4. print letters
• D'abord, nous créons une liste appelée lettres.
• Ensuite, nous prenons une sous-section de la
liste et la stockons dans slice . Nous faisons
cela en définissant les indices que nous
voulons inclure après le nom de la liste: letters Exécuter
[1: 3].

• Ensuite, nous imprimons la découpe, qui


imprimera ['b', 'c']. Rappelez-vous, dans
Python, les indices commencent toujours à 0,
['b', 'c']
donc l'élément 1 c’est b.
['a', 'b', 'c', 'd', 'e']
UTILISATION AVEC DES PAS (STEP) :

• On peut également spécifier un troisième paramètre pour indiquer le pas,


c'est-à-dire le nombre d'indices à sauter.
# Sélectionne les éléments de l'indice 0 à 4 avec un pas de 2
sous_liste_pas = fruits[0:4:2] # ["pomme", "orange"]
Le découpage offre une flexibilité importante lors de la manipulation des
listes, permettant de sélectionner des sous-listes spécifiques en fonction des
besoins de votre programme.
LISTES: DÉCOUPAGE DES LISTES 1. suitcase = ["sunglasses", "hat",
"passport", "laptop", "suit", "shoes"]

2. first =
• Exercice:
3. middle =
A partir de la liste suivante créez :
• Une liste appelée first contenant les deux 4. last =
premier éléments de liste.
• une liste appelée middle contenant uniquement
les deux éléments du milieu de liste. Exécuter
• Une liste appelée last composée des deux
derniers éléments de la liste.
•Chaine = ‘‘JulIette’’
LISTES: DÉCOUPAGE DES LISTES
ET DE CHAINE DE CARACTÈRES •print ch[:3] # les 3 premiers caractères
•>>>Jul
•----------------------------------------------- -
• En fait, vous pouvez considérer les chaînes •print ch[3:] # tout sauf les 3 premiers
comme des listes de caractères: chaque caractères
caractère est un élément séquentiel dans la •>>>Iette
liste, à partir de l'index 0. •Chaine = ‘‘JulIette’’
•-------------------------------------------------
• Vous pouvez trancher une chaîne
exactement comme une liste! •print ch[:-3] # tout sauf les 3 derniers
caractères
•>>>JulIe
•-------------------------------------------------
•print ch[-3:] # les 3 dernies caractères
•>>>>>Tte
LISTES: DÉCOUPAGE DES LISTES
ET DE CHAINE DE CARACTÈRES • animals = "catdogfrog"

• En fait, vous pouvez considérer les chaînes • # The first three characters of animals
comme des listes de caractères: chaque • cat = animals[:3]
caractère est un élément séquentiel dans la
liste, à partir de l'index 0.
• # The fourth through sixth characters
• Vous pouvez trancher une chaîne • dog =
exactement comme une liste!

• # From the seventh character to the end


• frog =
• # Création de la liste de nombres
• liste_nombres = [12, 5, 23, 8, 19, 6, 32, 16]

TD • # Calculs sur la liste de nombres


• somme = sum(liste_nombres)
• moyenne = sum(liste_nombres) / len(liste_nombres)
1.Création de la Liste de Nombres : • plus_grand = max(liste_nombres)
• plus_petit = min(liste_nombres)
1. Créez une liste de nombres appelée liste_nombres.
2.Calculs sur la Liste de Nombres : • # Affichage des résultats
1. Calculez et affichez la somme des nombres dans la • print(f"Liste de nombres : {liste_nombres}")
liste. • print(f"Somme : {somme}")
2. Calculez et affichez la moyenne des nombres dans • print(f"Moyenne : {moyenne}")
• print(f"Plus grand : {plus_grand}")
la liste. • print(f"Plus petit : {plus_petit}")
3. Trouvez et affichez le plus grand nombre dans la
liste. • # Filtrage de la liste
4. Trouvez et affichez le plus petit nombre dans la • nombres_pairs = [nombre for nombre in liste_nombres if nombre % 2 == 0]
• nombres_impairs = [nombre for nombre in liste_nombres if nombre % 2 != 0]
liste.
3.Filtrage de la Liste : • # Affichage des listes filtrées
1. Créez deux nouvelles listes : une liste contenant • print(f"Nombres pairs : {nombres_pairs}")
uniquement les nombres pairs et une liste • print(f"Nombres impairs : {nombres_impairs}")

contenant uniquement les nombres impairs à partir


• # Tri de la liste
de la liste d'origine. • liste_nombres_triee = sorted(liste_nombres)
2. Affichez ces deux nouvelles listes.
4.Tri de la Liste : • # Affichage de la liste triée
• print(f"Liste triée : {liste_nombres_triee}")
1. Triez la liste d'origine par ordre croissant.
2. Affichez la liste triée.
LISTE COMPRÉHENSION :

• Les listes comprehensions sont une manière concise pour créer des listes.

carres = [x**2 for x in range(5)]


LISTES: QUELQUE OPÉRATIONS

Parfois, vous voulez seulement accéder à une 1. entier = roches.index("Calcaire")


partie d'une liste. 2. Print entier
3. Print roches.index("Calcaire")
• Nous pouvons insérer des éléments dans une
liste.

roches = ["Granite", "Calcaire", "Schiste"]


roches.insert(1, "Basalte") Exécuter

• Parfois, vous devez rechercher un élément


dans une liste.

roches.index("Calcaire")
DIFFERENCE ENTRE INSERT ET APPEND EN PYTHON

• En python, insert et append sont deux méthodes u6lisées pour ajouter des éléments à
une liste, mais elles le font de manière légèrement différente.
v Append :
1. La méthode append est u0lisée pour ajouter un élément à la fin de la liste.
2. Elle prend un seul argument, l'élément que vous souhaitez ajouter à la liste.
3. L'élément est ajouté à la fin de la liste, augmentant ainsi sa taille de 1.
ü Exemple :

fruits = ["pomme", "banane", "orange"]


fruits.append("fraise")
print(fruits) # ["pomme", "banane", "orange", "fraise"]
DIFFERENCE ENTRE INSERT ET APPEND EN PYTHON

vInsert :
La méthode insert est utilisée pour insérer un élément à un emplacement
spécifique dans la liste.
Elle prend deux arguments : l'indice à laquelle vous souhaitez insérer l'élément et
l'élément lui-même.
Les éléments existants après l'indice spécifié sont déplacés vers la droite.
ü Exemple :

fruits = ["pomme", "banane", "orange"]


fruits.insert(1, "fraise")
print(fruits) # ["pomme", "fraise", "banane", "orange"]
LISTES: QUELQUE OPÉRATIONS
1. L1 = [5, 3, 1, 2, 4]
• Si votre liste n’est pas ordonée, vous aurez 2. L2 = []
peut être besoin de la trier.
1. L2=L1
if "Y" in chromosomes: 2. L3=L1[:]
print "C'est un garçon !" 3. L1.remove(5)

4. print L1
• Attention, «=» ne copie pas les listes !
5. print L2
6. print L3
List1 = List2

• Pour copier une liste :

[3, 1, 2, 4]
List3 = List1[:] [3, 1, 2, 4]
[5, 3, 1, 2, 4]
LISTES: QUELQUES OPÉRATIONS

• Si votre liste n’est pas ordonée, vous aurez


peut être besoin de la trier.
roches = ["Granite", "Calcaire", "Schiste", "Basalte", "Gneiss"]
roches.sort()

• D'abord, nous créons une liste appelée roches


avec trois chaînes. Les chaînes ne sont pas Exécuter
dans l'ordre alphabétique.
• Ensuite, nous trions les roches dans l'ordre
alphabétique. Notez que .sort () modifie la liste
plutôt que de retourner une nouvelle liste.
• Pour supprimer un élément de la liste utiliser :

roches.remove("Schiste")
LISTES: POUR UN ET TOUS

Si vous voulez faire quelque chose avec chaque


1. for number in my_list:
élément de la liste, vous pouvez utiliser la
boucle ‘for’ .
• Nous pouvons insérer des éléments dans une
liste.
for variable in list_name:
# Faire des choses! Solution

• Pour le nom de variable qui suit le mot-clé


‘for’; il sera attribué la valeur de chaque
élément de la liste à son tour. my_list = [1,9,3,8,5,7]
• Ensuite, dans list_name, le nom de la liste sur for number in my_list :
laquelle la boucle fonctionnera. La ligne se print 2*number
termine par un deux-points (:) et le code en
retrait qui le suit sera exécuté une fois par
élément dans la liste.
BOUCLE: PLUS AVEC "FOR" 1. start_list = [5, 3, 1, 2, 4]
2. square_list = []

3. for number in start_list:


• A Faire : 4. square_list.append(number**2)
1. Ecrire une boucle for qui se répète sur
une liste de nombre nommé start_list 5. square_list.sort()
puis 6. print square_list
• Ajouter chaque nombre au carré (x
** 2) à une liste nommée square_list. Exécuter
2. Puis trier square_list!
3. Imprimer les contenu de square_list.

[1, 4, 9, 16, 25]


LISTES: POUR UN ET TOUS
for i in range(10) :
Si vous voulez obtenir une liste de
nombre utiliser la boucle range
1. print i

range([debut], fin, [pas])

Remarque bien : Solution

print range(10)
> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 0
print range(4, 10) 1
> [4, 5, 6, 7, 8, 9] 2
print range(4, 10, 2) ..
> [4, 6, 8] .
9
LISTES: POUR UN ET TOUS
alpha = "abcdef12"
for i in range(len(alpha)) :
1. print "la alpha n", i, "est", alpha[i]

• Range peut être utilisée pour boucler sur


les indices, et non pas sur les éléments
d'une liste Solution

la alpha n° 0 est a la alpha n° 1 est b la alpha n°


2 est c
...
la base n° 8 est 2
LISTES: POUR UN ET TOUS
nb_cysteine = 0
for aa in proteine:
if aa == "C":
nb_cysteine = nb_cysteine + 1
print "il y a", nb_cysteine, "Cystéine "
• Exercice :
• Dans la séquence protéique suivante
(utilisant le code international des acides
aminés), compter le nombre de Cystéines Solution
(code C)

• Proteine = "CVAPGPMCAWCDSTAC"
LISTES: POUR UN ET TOUS
nb_soufre = 0
for aa in proteine:
if (aa == "C") or (aa == "M"):
nb_soufre = nb_soufre + 1
print "il y a", nb_soufre, "atomes de soufre"
• Exercice :
• Dans la séquence protéique suivante
(utilisant le code international des acides
aminés), compter le nombre d'atomes de Solution
soufre
• rappel : les acides aminés soufrés sont la
Cystéine (C) et la Méthionine (M)

• proteine = "CVAPGPMCAWCDSTAC"
# Description Géologique
description_geologique = "Les sédiments marins contiennent de nombreux
fossiles."

# Analyse de la Description Géologique


print("Analyse de la Description Géologique :")
for caractere in description_geologique:
if caractere.isalpha():
print(f"Caractère alphabétique : {caractere}")
elif caractere.isspace():
print("Espace")
elif caractere.isnumeric():
print(f"Chiffre : {caractere}")
else:
print("Autre caractère")

print("-" * 30)
# Liste des Couches Géologiques
couches_geologiques = ["Sédiments marins", "Roche calcaire", "Schiste argileux", "Basalte", "Gneiss"]

# Affichage d'Informations sur les Couches Géologiques


print("Informations sur les Couches Géologiques :")
for couche in couches_geologiques:
print(f"Nom de la Couche : {couche}")

# Simulation d'informations supplémentaires


if "Sédiments" in couche:
print("Type : Sédimentaire")
elif "Roche calcaire" in couche:
print("Type : Sédimentaire")
elif "Schiste" in couche:
print("Type : Métamorphique")
elif "Basalte" in couche:
print("Type : Magmatique")
elif "Gneiss" in couche:
print("Type : Métamorphique")

print("-" * 30)
LISTES: POUR UN ET TOUS choices = ['pizza', 'pasta', 'salad', 'nachos']

print 'Your choices are:'


Un des points faibles de l'utilisation de ce style index = 1
d'itération est que vous ne connaissez pas for index, item in enumerate(choices):
l'index de la chose que vous regardez. En print index+1, item
général, ce n'est pas un problème, mais il est
parfois utile de savoir dans quelle mesure vous
vous trouvez.
Solution

enumerate fonctionne en fournissant un index


correspondant à chaque élément de la liste que Your choices are:
vous lui transmettez. Chaque fois que vous 0 pizza
parcourez la boucle, l'index sera supérieur, et
l'élément sera l'élément suivant de la séquence.
1 pasta
C'est très similaire à l'utilisation d'une boucle 2 salad
normale avec une liste, sauf que cela nous 3 nachos
permet de compter facilement le nombre
d'éléments observés jusqu'à présent.
BOUCLE: PENDANT QUE TU ES LÀ count = 0
if count < 5:
print "Hello, je suis un if et count = ", count
While

• La boucle while est similaire à une instruction if: while count < 5:
elle exécute le code à l'intérieur si une condition print "Hello, count = ", count
est vraie. count = count +1
• La différence est que la boucle while
continuera à s’exécuter tant que la condition est
vraie.
Solution
• En d'autres termes, au lieu d'exécuter si quelque
chose (condition) est vrai, elle s'exécute pendant
que cette chose est vraie.
Boucle: Pendant que tu es là
LOOP_CONDITION = TRUE
While
while loop_condition:
• La condition est l'expression qui décide si la print “Je suis une boucle“
boucle va continuer à être exécutée ou non.
loop_condition = False
• La variable condition contient la valeur True
• La boucle while vérifie si la condition est True. Si
c'est le cas, donc la boucle est entrée. Solution
• L'instruction d'impression est exécutée.
• La variable condition est définie à False.
• La boucle while vérifie à nouveau si
loop_condition a la valeur True. Ce n'est pas le Je suis une boucle
cas, donc la boucle n'est pas exécutée une
seconde fois.
• À l'intérieur d'une boucle while, vous pouvez
faire tout ce que vous pourriez faire ailleurs, y
compris les opérations arithmétiques
Boucle: Pendant que tu es là
NUM = 1
While
while num < 11 :
Créer une boucle while qui imprime tous print num**2
les nombres de 1 à 10 au carré (1, 4, 9,
num=num+1
16, ..., 100), chacun sur leur propre
ligne.
Solution

1
4
9
16
25
..
81
100
BOUCLE: PENDANT QUE TU ES LÀ
choix = input(‘vous aimer le cours? (o/n)')
While
While choix != ‘o’ and choix != ‘n’ :
choix = input(“pardon j’ai pas compris
essayer encore: ")
• Une application courante d'une boucle
while consiste à vérifier l'entrée de
l'utilisateur pour voir si elle est valide. Solution
• Par exemple, si vous demandez à
l'utilisateur d'entrer o ou n et qu'ils
saisissent à la place 7, vous devez les
inviter à entrer une nouvelle fois.
chromosomes = []
BOUCLE: PENDANT QUE TU ES LÀ while 1:
n_chromosome = input("Entrez un n° de
chromosome : ")
Exercice if n_chromosome == "":
Demander à l'utilisateur d'entrer une liste break
de numéros de chromosome, puis indiquer
chromosomes.append(n_chromosome)
si la personne ayant ces chromosomes est
un homme ou une femme.
if "Y" in chromosomes:
print ("Cest un homme.")
• Comment faire pour demander à else:
l'utilisateur d'entrer une liste ? print ("Cest une femme.")
• Créer une liste vide
• L'utilisateur entre un premier Solution
chromosome
• Tant que la valeur entrée est valide,
on l'ajoute dans la liste et on
demande d'entrer un nouveau
chromosome
• Si la valeur entrée est vide, la liste est
terminée et on passe à la suivante
BOUCLES INFINIES

While

• Une boucle infinie est une boucle qui ne


sort jamais. Cela peut arriver pour
plusieurs raisons:
• La condition de boucle ne peut pas
être fausse (par exemple pendant
que 1! = 2)
• La logique de la boucle empêche la
condition de la boucle de devenir fausse.

while count > 0:


count += 1 # a la place de count -= 1
BREAK=SE BRISER. from random import randint

While random_number = randint(1, 10)


guesses_left = 3
• Break est une instruction d’une ligne While guesses_left > 0:
qui signifie "quitter la boucle actuelle". guess = int(raw_input("Your
guess: "))
If num == random_number:
Print "You win!"
break
guesses_left -= 1
else:
print "youlose!"
while count > 0:
count += 1 # à la place de count -= 1
TD

# Création de la liste de roches # Dureté des Roches


duretes = [6, 3, 4] # Ajoutez d'autres duretés
roches = ["granite", "Calcaire", "Schiste" ] selon le besoin
# Ajoutez d'autres roches selon le besoin
# Affichage des Roches
# Types de roches print("Liste des Roches :")
for i in range(len(roches)):
types_roches = ["igneous", "Sedimentary", nom = roches[i]
"Metamorphic" ] type_roche = types_roches[i]
durete = duretes[i]
# Ajoutez d'autres types selon le besoin print(f"{nom} - Type: {type_roche}, Dureté:
{durete}")
TD # Roches Sédimentaires
print("\nRoches Sédimentaires :")
# Création de la liste de roches
for i in range(len(roches)):
if types_roches[i] == "sedimentary":
roches = ["granite", "calcaire", "schiste", "basalte", "gneiss"] print(f"{roches[i]} - Dureté: {duretes[i]}")
types_roches = ["igneous", "sedimentary", "metamorphic", "igneous", "metamorphic"]
duretes = [6, 3, 4, 7, 8] # Roches Dures
print("\nRoches Dures :")
for i in range(len(roches)):
# Affichage des roches if duretes[i] > 5:
print("liste des roches :") print(f"{roches[i]} - Type:
{types_roches[i]}")
for i in range(len(roches)):
nom = roches[i] # Moyenne de Dureté
type_roche = types_roches[i] moyenne_durete = sum(duretes) /
durete = duretes[i] len(duretes)
print(f"\nMoyenne de Dureté :
print(f"{nom} - type: {type_roche}, dureté: {durete}")
{moyenne_durete}")
# Dictionnaire Géologique
couche_geologique = {
INDEX OU CLÉ
"nom": "Sédiments marins",
"type": "Sédimentaire",
• Un dictionnaire est similaire à une liste, mais "composition": ["argile", "sable", "limon"],
vous accédez aux valeurs en recherchant une "epaisseur_m": 20,
clé au lieu d'un index. "age_millions_ans": 10,
"fossiles": True
• Une clé peut être n'importe quelle chaîne ou }
numéro. Les dictionnaires sont placés entre
accolades, comme ceci: # Affichage des Informations Géologiques
• L'accès aux valeurs du dictionnaire par clé est print("Informations sur la Couche Géologique :")
similaire à l'accès aux valeurs de la liste par print(f"Nom : {couche_geologique['nom']}")
index: print(f"Type : {couche_geologique['type']}")
print(f"Composition : {',
'.join(couche_geologique['composition'])}")
d = {'key1' : 1, 'key2' : 2, 'key3' : 3}
print(f"Épaisseur (mètres) :
{couche_geologique['epaisseur_m']}")
print(f"Âge (millions d'années) :
{couche_geologique['age_millions_ans']}")
print(f"Fossiles présents : {couche_geologique['fossiles']}")
INDEX OU CLÉ 1. menu = {} # Dictionnaire vide

• Comme les listes, les dictionnaires sont 1. Ajoutez au moins trois autres paires clé-
modifiables. Un avantage de ceci est que valeur à la variable de menu :
nous pouvons ajouter de nouvelles paires 2. avec le nom du plat (sous forme de
clé / valeur au dictionnaire après sa création "chaîne") pour la clé et le prix (un flottant
comme suit: ou un entier) comme valeur.

dict_name [new_key] = new_value

1. menu['Chicken Alfredo'] = 14.50


• Une paire vide d'accolades {} est un # Ajout d'une nouvelle paire clé-valeur
dictionnaire vide, tout comme une paire 1. print menu['Chicken Alfredo']
vide de [] est une liste vide.
2. print "There are " + str(len(menu)) + "
menu = {} items on the menu."
1. zoo_animals = { }
INDEX OU CLÉ

Parce que les dictionnaires sont mutable, ils


1. Ajoutez au moins trois autres paires clé-
peuvent être modifiés de plusieurs façons. valeur à notre zoo
1. Les éléments peuvent être supprimés d'un 2. Supprimez deux éléments en utilisant del.
dictionnaire avec la commande del: 3. modifier la valeur associée à la 3ème
valeur.
del dict_name [key_name]

• Une nouvelle valeur peut être associée à une


clé en attribuant une valeur à la clé, comme
ceci:

dict_name [key] = new_value


INDEX OU CLÉ

• Dans l'exemple ci-dessus, nous avons créé un dictionnaire contenant de nombreux types
de valeurs.

my_dict = {"fish": ["c", "a", "r", "p"], "cash": -4483, "luck": "good" }
print my_dict["fish"][0]
INDEX OU CLÉ

Dans l'exemple ci-dessus, nous avons créé un 1. Ajouter une clé à l'inventaire
dictionnaire contenant de nombreux types de appelée «poche»
valeurs. 2. Définir la valeur de «poche»
comme une liste composée des
chaînes «coquillage», «étrange
baie» et «peluches»
3. sort () les éléments de la liste
inventaire = {
stockés sous la clé 'backpack'
'or': 500,
4.Puis, retirez ('dagger') de la liste
'pochette': ['silex', 'ficelle', 'pierre '],
'sac': ['xylo', 'dagger', 'bedroll', 'pain'] des éléments stockés sous la clé
}
‘sac’
5.Ajouter 50 au nombre stocké
sous la clé 'or'
BOUCLEZ UN
DICTIONNAIRE d = {'a': 'apple', 'b': 'berry', 'c': 'cherry'}

• Vous vous demandez peut-être comment


parcourir un dictionnaire. Voulez-vous
Imprimez la clé, suivie d'un espace suivi de
obtenir la clé ou la valeur? la valeur associée à cette clé.

• La réponse courte est la suivante: vous


obtenez la clé que vous pouvez utiliser
pour obtenir la valeur.

d = {'x': 9, 'y': 10, 'z': 20} d = {'a': 'apple', 'b': 'berry', 'c': 'cherry'}
for key in d:
for key in d:
if d[key] == 10: print key+" "+ d[key]
print « on a trouvé un 10!"
BOUCLEZ UN
DICTIONNAIRE choices = ['pizza', 'pasta', 'salad', 'nachos’]

print 'Your choices are:'


for index, item in enumerate(choices):
• Une faiblesse de l’utilisation des itération print index, item
(for, while) est que vous ne connaissez pas
l’indice de ce que vous regardez.
Généralement, ce n'est pas un problème,
mais il est parfois utile de savoir à quel point
de la liste vous êtes.
• Heureusement, la function enumerate
intégrée facilite cette tâche. Your choices are:
0 pizza
1 pasta
2 salad
3 nachos
list_a = ['V', 9, 17, 15, 19]
LISTES MULTIPLES list_b = ['A', 4, 8, 10, 30, 40, 50, 80, 90]

for a, b in zip(list_a, list_b):


# Add your code here!
print a,b
• Il est également courant de devoir parcourir
deux listes à la fois. C’est là que la fonction
zip intégrée est très utile.

• zip créera des paires d'éléments lorsque


deux listes seront passées et s'arrêtera à la
VA
fin de la liste la plus courte. 94
17 8
15 10
• zip peut gérer trois listes ou plus! 19 30
LISTES MULTIPLES list_a = ['V', 9, 17, 15, 19]
list_b = ['A', 4, 8, 10, 30, 40, 50, 80, 90]
list_c = ['C', 9, 17, 15, 19]

for a, b, c in zip(list_a, list_b, list_c):


v Il est également courant de devoir parcourir # Add your code here!
print a,b,c
deux listes à la fois. C’est là que la fonction
zip intégrée est très utile.

v zip créera des paires d'éléments lorsque


deux listes seront passées et s'arrêtera à la
VAC
fin de la liste la plus courte. 949
17 8 17
15 10 15
v zip peut gérer trois listes ou plus! 19 30 19
TD
CRÉATION DE LA LISTE DE ROCHES :
Créez une liste de roches, chaque roche étant représentée sous forme de dic0onnaire avec les propriétés suivantes : nom de la roche, type
de roche (igneous, sedimentary, metamorphic), et dureté (échelle de mohs).
ROCHES = [
{"NOM": "GRANITE", "TYPE": "IGNEOUS", "DURETE": 6},
{"NOM": "CALCAIRE", "TYPE": "SEDIMENTARY", "DURETE": 3},
{"NOM": "SCHISTE", "TYPE": "METAMORPHIC", "DURETE": 4}, # AJOUTEZ D'AUTRES ROCHES SELON LE BESOIN]
1. AFFICHAGE DES ROCHES :
1. U$lisez une boucle for pour parcourir la liste de roches et affichez les propriétés de chaque roche.

2. ROCHES SÉDIMENTAIRES :
1. U$lisez une boucle for pour trouver et afficher les roches sédimentaires de la liste.

3. ROCHES DURES :
1. U$lisez une boucle for pour trouver et afficher les roches ayant une dureté supérieure à 5 sur l'échelle de Mohs.

4. MOYENNE DE DURETÉ :
1. Calculez et affichez la moyenne de la dureté de toutes les roches.
RÉFÉRENCES

• https://www.anaconda.com/download/
• http://www.programmingforbiologists.org/programming/
• https://www.codecademy.com/
• https://online.umich.edu/series/python-for-
everybody/
• https://www.programiz.com/python-
programming/online-compiler/
• https://www.w3schools.com/python/

Vous aimerez peut-être aussi