Les Bases de Python
Les Bases de Python
Introduction à la
programmation
ENSEIGNANT
Ayoub KHOUADRI
OBJECTIFS
Welcome to Python!
1. # Écrivez votre code ci-dessous!
VARIABLES 2. my_var = 10
3. print " la valeur de mon
La création d'applications Web, de jeux et de variable =", my_var
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:
Exercice :
Définissez la variable my_variable égale
à la valeur
10. puis imprimer ce 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",
suivants: my_variable
• Numérique
• Chaine de caractère
(Alphanumérique)
Exécuter
• Booléen
• Les variables numériques sont
susceptibles de recevoir des nombres. # Définissez les variables aux
Il existe également plusieurs types valeurs
numériques tels que:
listées dans les instructions!
my_int = 7
my_float = 1.23
print " la valeur de mon
variable", my_float
1. my_int = 7
VO U S AVEZ ÉTÉ AFFECTÉ ! 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écut
my_int = e
3
la valeur de my_int = 3
L'INSTRUCTI 1. # Écrivez votre code ci-dessous!
ON D ’ 2. A = 10
A FFEC TAT IO N
3. B = A + 3
L'instruction d’affectation permet 4. A = 3
d'attribuer une valeur (non définitive) a
une variable déclarée. 5. Print " A = ", A
L’affectation s’effectue en utilisant le 6. print " B = ", B
symbole ( = ).
spam = 5 Exécuter
ping = 9
• O n peur affecter a une variable le
A=3
contenu B = 13
d'une autre variable
spam = ping
• O n peur incrémenter la valeur d'une
spam = spam
même variable sans utiliser une
deuxième+ variable
1
1. # Écrivez votre code ci-dessous!
L'INSTRUCTI 2. A = 5
ON D ’
A FFEC TAT IO N 3. B = 3
4. C = A
L'instruction d’affectation permet
d'attribuer une valeur (non définitive) a + B 5. A =
une variable déclarée. 3
L’affectation s’effectue en utilisant le
6. B = C
symbole ( = ).
– 2
spam = 5 7. print
ping = 9 " A = ",
• O n peur affecter a une variable le A
contenu 8. print " B Exécuter
d'une autre variable = ", B
spam = ping 9. print
A= 3 "C
• O n peur incrémenter
spam = spamla valeur d'une = ", C
même + variable
1 sans utiliser une B=6
deuxième variable
C=8
1. # Écrivez votre code ci-dessous!
L'INSTRUCTI 2. A = 5
ON D ’ 3. B = A + 4
A FFEC TAT IO N
4. A = A + 1
L'instruction d’affectation permet 5. B = A - 4
d'attribuer une valeur (non définitive) a 6. C = A – B
une variable déclarée.
7. Print " A = ", A
L’affectation s’effectue en utilisant le
symbole ( = ). 8. print " B = ", B
9. print " C = ", C
spam = 5
• O n peur affecter
ping =a9une variable le
contenu
d'une autre variable Exécuter
spam = ping
• O n peur incrémenter la valeur d'une
A=6
même variable sans utiliser une B=2
deuxième variable
spam = spam
+1
C=4
1. # Écrivez votre code ci-dessous!
L'INSTRUCTI 2. A = 5
ON D ’
A FFEC TAT IO N 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 6. B = C
que 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 listées dans les
BO O L É E N S
instructions!
2. my_int = 7
Les nombres sont un type de données que 3. my_float = 1.23
nous utilisons dans la programmation. Un 4. my_bool = True
deuxième type de données s'appelle un
booléen. 5. print " la valeur de mon
variable",
• Un booléen est comme un interrupteur my_bool
d'éclairage. Il ne peut avoir que deux Exécuter
valeurs.Tout comme un interrupteur ne peut
être activé ou désactivé, un booléen ne peut
être que Vrai (True) ou Faux (False.). la valeur de mon variable =
True
• Vous pouvez utiliser des variables pour
stocker des
booléens comme ceci:
a=
True b
= False
Exercice : Définissez les
# Écrivez votre commentaire ici
C O M M E N TA I R E S # Écrivez un autre
Les commentaires rendent votre programme " " " Siégeant de ta tasse jusqu'à
plus facile à comprendre. Lorsque vous ce que ça coule,
regardez votre code ou que d'autres veulent Saint Graal.
collaborer avec vous, 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 Exécut
code. C'est juste pour les humains à lire. e
• Vous pouvez écrire un commentaire multi-
ligne, en commençant chaque ligne avec
#, cela peut être une douleur.
addition = 72 + 23 Exécut
e
subtraction = 108 -
204
multiplication = 108 60000
* 0.5
division = 108 / 9
1. eggs = 10**2
Tout ce calcul peut être fait sur une
calculatrice, alors pourquoi utiliser 2. print eggs
Python?
Parce que vous pouvez combiner les
mathématiques avec d'autres types de Exécut
données (par exemple, des booléens) et e
des commandes pour créer des
programmes utiles. Les calculatrices se
contentent de chiffres. 100
Maintenant, travaillons avec les
exposants.
eight =
2** 3
Exercice :
Créez une nouvelle variable appelée eggs
et utilisez des exposants pour définir eggs
égal à 100.
LES
M AT H S:
M OD U LO
1. spam= 7 % 4
Notre opérateur final est modulo. Modulo 2. print spam
renvoie le reste d'une division. Donc, si
vous tapez 3 % 2, cela retournera 1, car
2 va en 3 une fois, avec 1 restant.
Exécut
un = 3 % 2 e
3
Exercic
e:
Utilisez modulo pour définir un
variable spam
égal à 3.
A LA PROC HAINE
dans l'éditeur. 2
3 4
c=
5
"cats"[0]
Donc, si vous vouliez "Y", vous
n= pouviez simplement taper
"Ryan"[3]
Dans l'exemple ci-dessus, nous créons une
"PYTHON" [1] (toujours compter à
partir de 0!)
nouvelle variable appelée c et le mettre à « """
c », le caractère à l'indice zéro de la
fifth_letter =
chaîne « chats ».
En Python, nous commençons à "MONTY"[4] print
Exécut
compter l'indice de zéro au fifth_letter
e
lieu d'un.
Exercice : Y
Q uelle est le résultats de « print
fifth_letter »
FONCTIONS INTÉGRÉES
str(2
)
Exécut
Ce qui fait de 2 un " e
2".
Traceback (most recent call last):
File "python", line 4, in
<module> TypeError: cannot
C’est quoi la
concatenate 'str'
différence.???????
and 'int' objects
1. # instruction print
Imprimer des String 2. count = 1000
3. print “ Imprimer dans le
• La zone où nous avons écrit notre code console “
s'appelle 4. print count
l'éditeur. 5. print “ Imprimer un variable “ ,
• La console (la fenêtre à droite de count
l'éditeur) est l'endroit où les résultats
de votre code sont affichés. Exécuter
len(“AAACGTR
”)
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 Module
Impor
autres sont regroupées dans des fichiers
t
séparés que l'on appelle des modules.
Les modules sont donc des fichiers qui
regroupent un ensembles de fonctions. Il
Mon Code
existe un grand nombre de modules pré-
programmés qui sont fournis d'office
avec Python.
IMPORTATIONS:
I M P O RTAT I O N G É N É R I Q U E 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
Module
de fonctions utiles, et
sqrt () est l'une de ces
fonctions. Pour accéder aux
Module
mathématiques, tout ce dont Impor
vous avez besoin
simplement est le de
un module mot-clé
cette t
import. Lorsque
façon, cela vous importez
s'appelle une
importation générique.
Mon Code
import math
print
math.sqrt(25)
I MPO RTAT I ON S 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
module donné. Extraire
ou fonctions d'un une seul
Module
fonction d'un module e
importation
s'appelle de fonction,
un
et c'est fait avec
e
Module
le mot-clé from: Impor
from math import t
sqrt print sqrt
(25)
Maintenant, vous pouvez Mon Code
Mon Code
ALLER AVEC LE FLU X
Mon Code
• Les opérateurs
instructions
booléens et produisentcomparentdes
valeurs
les
booléennes. Il y a trois opérateurs
booléens: qui vérifie si les
and sont
deux instructions Exécuter
vraies;
qui vérifie si au moins l'une
or des déclarations est True;
Exécuter
False
Syntaxe de 1. reponse = "Y"
l'instruction
conditionnelle 2. answer = "Left"
3. if answer == "Left“ :
The big IF 4. print "This is the Verbal
Abuse Room, you heap of parrot
• if est une instruction droppings!"
conditionnelle
exécute quispécifié après avoir
du code
vérifié si son expression est True.
• Voici un exemple de syntaxe Exécuter
d'instruction if:
if 8 < 9: 1. This is the Verbal Abuse
print "Eight is less than nine!" Room,
Dans cet exemple, 8 <9 est l'expression you heap of parrot droppings!
conditionnelle a contrôlée et l'impression
"Huit est inférieur à neuf!" est le code
spécifié.
Syntaxe de 1. reponse = input (“Entrer un
l'instruction numero!")
conditionnelle
2. if reponse > 0 :
The big IF
3. print “ton numero est positif"
Exercice 1:
Ecrire un algorithme qui
demande un nombre a l'utilisateur, et
l'informe ensuite si ce nombre est Exécuter
positif ou negatif (le cas ou le
nombre est nul n'est pas traite). 1. Entrer un numero!
2. --
Enterer = input ()
Enterer = input
(“message du
Syntaxe de 1. reponse = "Y"
l'instruction
conditionnelle 2. answer = "Left"
3. if answer == "Left " and
The big IF
reponse != " y " :
4. print "This is the Verbal
• if l'expression Abuse Room, you heap of parrot
conditionnelle : droppings!"
• Code spécifié.
Exécuter
• l'expression
• (2 <= 2) =
conditionnelle and "Alpha" ==
"Bravo “ 1. This is the Verbal Abuse
• Var1 > Var2
• Bool1 == True
Room,
• Trouvé != False you heap of parrot droppings!
Syntaxe de • note = input ("Entrez votre
l'instruction moyenne obtenu au bac ")
conditionnelle
• 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
4
['a', 'b', 'c', 'd']
Listes: Découpage des
liste
• chain = "123456789"
• print( chain[1:3] )
L'opérateur d'indiçage: • >>> 23
• L'opérateur d'indiçage ([]) permet
aussi de sélectionner des sous-
chaines selon leurs indices. • print( chain[1:len(chain)] )
• >>> 23456789
• On appelle cette technique le slicing
(«
découpage en tranches »).
Listes: Découpage des
liste
1. letters = ['a', 'b', 'c',
Parfois, vous voulez seulement accéder à 'd', 'e’]
une partie d'une liste. 2. slice = letters[1:3]
3. print slice
• D'abord, nous créons une liste appelée
4. print letters
lettres.
• Ensuite, nous prenons une sous-section de
la liste et la stockons dans slice . Nous
faisons cela en définissant les indices que Exécuter
nous voulons inclure après le nom de la
• En Python,
liste: letterslorsque
[1: 3]. nous spécifions une
partie d'une liste de cette manière, nous
incluons l'élément avec le premier index,
1, mais nous excluons l'élément avec le ['b', 'c']
second index, 3. ['a', 'b', 'c',
• Ensuite, nous imprimons la découpe, qui 'd', 'e']
imprimera ['b', 'c']. Rappelez-vous, dans
Python, les indices commencent toujours
à 0, donc l'élément 1 est en fait b.
Listes: Découpage des
liste 1. suitcase = ["sunglasses",
"hat", "passport", "laptop",
"suit", "shoes"]
2. first
• Exercic =
e: 3. middle
• A partir de la liste suivant créez : =
• une liste appelée first contenant 4. last
des deux premier éléments de =
valise.
Exécuter
• une liste appelée middle
contenant uniquement
les deux éléments du milieu de valise.
•
• En fait, vous pouvez considérer les chaînes -
comme des listes de caractères: chaque • print # tout sauf les 3 premiers
caractère est un élément séquentiel dans ch[3:]
la liste, à partir de l'index 0. caractère
s
• Chaine = ‘‘JulIette’’
• Vous pouvez trancher une chaîne • >>>Iette
•
exactement comme une liste!
• print ch[:- # tout sauf les 3 derniers
3]
caractère
s
•
• >>>JulIe
• print ch[-3:] # les 3 dernies caractères
• >>>>>Tte
Listes: Découpage des
liste et de Chaine de • animals = "catdogfrog"
caractères
• 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!
animals.insert(1,
Exécuter
"dog")
animals.index("bat")
Listes: quelque
opérations
1. L1 = [5, 3, 1,
• Si votre liste est un désordre brouillé, 2, 4]
vous aurez peut être besoin de la trier. 2. L2 = []
1. L2=L1
if "Y" in 2. L3=L1[:]
chromosomes: 3.
print "C'est un L1.remove(5)
garçon !" 4. print
• Attention, «=» ne copie pas les
L1
listes !
5. print
List1 = List2 L2
6. print
L3
• Pour copier une liste :
[3, 1, 2,
List3 = 4]
[3, 1, 2,
List1[:] 4]
[5, 3, 1,
Listes: quelque
opérations
• Si votre liste est un désordre brouillé,
vous aurez peut être besoin de la trier.
animals = ["cat",
"ant", "bat"]
animals.sort()
• D'abord, nous créons une liste appelée
animaux avec trois chaînes. Les Exécuter
chaînes ne sont pas dans l'ordre
alphabétique.
• Ensuite, nous trions les animaux 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 animals.remove("c
at")
:
Listes: Pour un et tous
range([debut], fin,
[pas])
• Remarque Solution
bien :
print range(10)
0
> [0, 1, 2, 3, 4, 5, 6,
1
7, 8, 9]
2
print range(4, 10)
...
> [4, 5, 6, 7, 8, 9]
print range(4, 10,
9
2)
> [4, 6, 8]
Listes: Pour un et tous
1. adn = "atcacgtta«
2. for i in range(len(adn)) :
1. print "la base n", i, "est",
adn[i]
la base n° 0
est a la base
n° 1 est t la
base n° 2 est
c
...
la base n° 8
est a
Listes: Pour un et tous
1. nb_cysteine =
0
2. for aa in
proteine:
1. nb_cysteine =
1. ifnb_cysteine
aa == +1
• Exercice : 3. print"C":
"il y a", nb_cysteine,
• Dans la séquence protéique suivante "Cystéine"
(utilisant le code international des acides
aminés), compter le nombre de Solution
Cystéines (code C)
• proteine =
"CVAPGPMCAW C D STAC"
Listes: Pour un et tous
1. nb_soufre = 0
2. for aa in proteine:
1. if (aa == "C") or (aa ==
"M"):
1. nb_soufre = nb_soufre + 1
• Exercice : 3. print "il y a", nb_soufre, "atomes de
• Dans la séquence protéique suivante soufre"
(utilisant le code international des acides
aminés), compter le nombre d'atomes Solution
de soufre
• rappel : les acides aminés soufrés sont
la
Cystéine (C) et la Méthionine (M)
1
4
9
16
25
..
8
1
1
Boucle: Pendant que tu es là
1. choix = input(‘vous aimer le cours?
While (o/n)')
While
While 2. random_number =
randint(1, 10)
3. guesses_left = 3
• break est une instruction d'une 4. while guesses_left
ligne qui signifie "quitter la boucle 5.
> 0:guess = int(raw_input("Your
actuelle". guess: "))
6. if num == random_number:
• Une autre façon de faire sortir notre 7. print "You win!"
boucle de comptage et arrêter 8. break
l'exécution est avec l'instruction 10.else:
9. guesses_left -= 1
11. print "you
break.
lose!"
2. print residents['Sloth']
On peut faire quoi avec les dictionnaire ? 3. print residents['Burmese Python']
I N D E X O U 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 2. avec le nom de la plat (sous forme de
paires clé / valeur au dictionnaire après "chaîne") pour la clé et le prix (un
sa création comme suit: flottant ou un entier) comme valeur.
my_dict = {
"fish": ["c", "a", "r",
"p"], "cash": -4483,
"luck": "good" }
print my_dict["fish"][0]
I N D E X O U CLÉ