Effectuer une instruction si une condition est vérifiée
x = 1
if (x > 0):
print("La valeur est strictement positive")
La valeur est strictement positive
Effectuer une instruction si une condition est vérifiée, une autre sinon
x = 1
if (x > 0):
print("La valeur est strictement positive")
else:
print("La valeur est négative ou nulle")
La valeur est strictement positive
Effectuer :
x = 1
if (x > 0):
print("La valeur est strictement positive")
elif (x == 0):
print("La valeur est nulle")
else:
print("La valeur est négative ou nulle")
La valeur est strictement positive
Déclarer une liste vide
L = []
print(L)
[]
Parcourir les éléments d'une liste
L = ["a", "b", "c", "d", "e"]
n = len(L)
for i in range(n):
print(L[i])
a b c d e
L = ["a", "b", "c", "d", "e"]
for x in L:
print(x)
a b c d e
On peut déclarer une liste par compréhension. La syntaxe est la suivante :
[ <fonction de x> for x in <structure> ]
où <fonction de x>
est une fonction de x
et <structure>
est un objet itérable (une autre liste, un itérateur).
L = [i for i in range(7)]
print(L)
[0, 1, 2, 3, 4, 5, 6]
L = [i**2 for i in range(-3, 4)]
print(L)
[9, 4, 1, 0, 1, 4, 9]
M = [x + 1 for x in L]
print(M)
[10, 5, 2, 1, 2, 5, 10]
N = [1 for i in range(10)]
print(N)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
On peut également déclarer une liste par compréhension avec condition. La syntaxe est la suivante :
[ <fonction de x> for x in <structure> if <condition sur x> ]
où <fonction de x>
est une fonction de x
, <structure>
est un objet itérable (une autre liste, un itérateur), et <condition sur x>
est une condition sur x
qui doit être vérifiée pour que l'élément soit inclus dans la liste.
L = [i for i in range(10) if i % 2 == 0]
print(L)
[0, 2, 4, 6, 8]
L = ["bonjour", "maison", "ecole", "voiture", "telephone"]
M = [ x for x in L if len(x) == 7]
print(M)
['bonjour', 'voiture']
Pour commenter du texte ou du code, on utilise le symbole "dièse" #
que l'on place en début de commentaire.
# on initialise x à 36
x = 36
y = 2 * x # on calcule le double de x
################
# z = y + 2
# z = y + 3
Erreurs de syntaxe
x = 0
for i in range(8)
x += i
print x
Input In [36] for i in range(8) ^ SyntaxError: invalid syntax
Objet qui ne peut pas être appelé
L = ["a", "b", "c"]
L(1)
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Input In [37], in <module> 1 L = ["a", "b", "c"] ----> 2 L(1) TypeError: 'list' object is not callable
Objet qui n'existe pas
def ma_fonction():
print("bonjour")
mafonction()
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [38], in <module> 1 def ma_fonction(): 2 print("bonjour") ----> 3 mafonction() NameError: name 'mafonction' is not defined
Indice de liste trop grand
L = ["a", "b"]
L[2]
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) Input In [39], in <module> 1 L = ["a", "b"] ----> 2 L[2] IndexError: list index out of range
Remontée d'erreurs dans des fonctions
def lire_troisieme_element(L):
return L[2]
L = ["a", "b"]
lire_troisieme_element(L)
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) Input In [40], in <module> 2 return L[2] 3 L = ["a", "b"] ----> 4 lire_troisieme_element(L) Input In [40], in lire_troisieme_element(L) 1 def lire_troisieme_element(L): ----> 2 return L[2] IndexError: list index out of range
Division par zéro
def divise(a, b):
return a//b
divise(1, 0)
--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) Input In [41], in <module> 1 def divise(a, b): 2 return a//b ----> 4 divise(1, 0) Input In [41], in divise(a, b) 1 def divise(a, b): ----> 2 return a//b ZeroDivisionError: integer division or modulo by zero
Boucle infinie
def occurence(L, x):
compteur = 0
i = 0
while i < len(L):
if L[i] == x:
compteur += 1
return compteur
L = ["a", "b", "a"]
# occurence(L, "a")