Tableau non vide
Il est aussi possible de l'initialiser avec des valeurs
# Créer un tableau à partir de valeurs
>>> mon_tableau = ["Alan", "Ada", "Grace", "Ian"]
["Alan", "Ada", "Grace", "Ian"]
On appelle fonction une partie de code recevant une ou plusieurs informations à partir desquelles elle
retourne une ou plusieurs informations.
Les informations fournies à la fonction sont appelées paramètres ou arguments nommés de la
fonction.
Les informations renvoyées par la fonction sont appelées des retours.
3 types de fonctions :
On parle ici d'une fonction qui n'a pas de paramètre et ne renvoie rien.
def nom_fonction():
bloc d'instructions
def nom_fonction():
bloc d'instructions
def
permet de créer une fonction.
:
à la fin de la ligne de def
sont obligatoires.for
)def nom_fonction():
bloc d'instructions
def
permet de créer une fonction.:
à la fin de la ligne de def
sont obligatoires.for
)def nom_fonction():
bloc d'instructions
def
permet de créer une fonction.:
à la fin de la ligne de def
sont obligatoires.for
)
def nom_fonction():
bloc d'instructions
def
permet de créer une fonction.:
à la fin de la ligne de def
sont obligatoires.for
)def nom_fonction():
bloc d'instructions
def nom_fonction():
s'appelle l'entête de la fonction,def
, le nom de la fonction, qui respecte les règles de nommage des
variables et des parenthèses. Si nécessaire, les paramètres sont placés dans ces parenthèses.
Vous avez déjà utilisé des plusieurs fonctions : forward()
, left()
,
begin_fill()
et end_fill()
Remarques :
()
à la fin,
même s'il n'y a rien dedans. Création puis utilisation d'une fonction pixel
qui affiche un pixel de 25
px.
Il est des fois nécessaire de modifier le comportement d'une fonction lors de son appel. (par exemple, si l'on veut par exemple changer la couleur des pixels lors d'un appel de la fonction pixel
.)
Les paramètres sont là pour "paramétrer" / modifier le comportement de la fonction lors de son exécution.
def nom_fonction():
bloc d'instructions
def nom_fonction(par1, par2):
bloc d'instructions
def nom_fonction(par1, par2):
bloc d'instructions
Remarques :
def nom_fonction(par1, par2):
bloc d'instructions
Remarques :
Création puis utilisation d'une fonction pixel
qui affiche un pixel de 25
px.
import turtle as tl
cote = 25
def pixel():
tl.fillcolor("red")
tl.begin_fill()
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.end_fill()
Création puis utilisation d'une fonction pixel
qui affiche un pixel de 25
px.
import turtle as tl
cote = 25
def pixel(couleur):
tl.fillcolor(couleur)
tl.begin_fill()
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.end_fill()
Là encore, vous avez déjà utilisé des fonctions avec paramètres : print("Bonjour")
Comment utiliser la fonction pixel
pour obtenir un pixel vert de 30 pixels ?
pixel
. # définition de la fonction
import turtle as tl
def pixel(couleur, cote):
tl.fillcolor(couleur)
tl.begin_fill()
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.end_fill()
pixel
, le paramètre cote
vaut dans la majeure partie des cas 25px. # définition de la fonction
import turtle as tl
def pixel(couleur, cote = 25):
tl.fillcolor(couleur)
tl.begin_fill()
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.left(90)
tl.forward(cote)
tl.end_fill()
# utilisation la fonction
return
return
Toutes les fonctions ont des résultats (c'est leur buts) mais jusqu'à
présent nous n'avons vu des résultats que dans le terminal ou dans la
fenêtre de turtle
.
Voyons à présent un type de fonction qui a des paramètres et renvoi
des informations dans le programme qui l'a appelée à l'aide d'un
return
.
return
return
def nom_fonction(par1, par2):
instructions
return resultat
return
return
def nom_fonction(par1, par2):
instructions
return resultat
resultat
peut-être une variable créée dans la fonction, une expression ou une valeurreturn
est un mot clé réservé au renvoi des résultats
d'une fonction dans le programme ou elle a été appeler.return
exécutée, la fonction s'arrête et l'exécution continue dans le programme principal.return
return
def nom_fonction(par1, par2):
instructions
return resultat
resultat
peut-être une variable créée dans la fonction, une expression ou une
valeurreturn
est un mot clé réservé au renvoi des résultats d'une fonction dans le programme ou elle a été appeler.return
exécutée, la fonction s'arrête et l'exécution
continue dans le programme principal.return
return
def nom_fonction(par1, par2):
instructions
return resultat
Remarques :
resultat
peut-être une variable créée dans la fonction, une expression ou une
valeurreturn
est un mot clé réservé au renvoi des résultats d'une fonction dans le
programme ou elle a été appeler.return
exécutée, la fonction s'arrête et l'exécution continue dans le programme principal.
Comment enregistrer une liste de valeurs ?
Ex : les prénoms d'une classe, la température d'une pièce toute les minutes, ...
→ Variable normale : difficilement manipulable !
→ Un nouveau type de variable : les tableaux list
Les tableau (list) en python
nom_liste = [ ]
nom_liste = [va0, va1, ...]
Exemples :
entiers = [1, 2, 8, 78] # liste d'entiers
strings = ["slt", "bjr", "cc"] # liste de strings
mixte = [2, "dd", 2.5] # liste contenant plusieurs type de valeurs
liste_de_liste = [[12, 4], [5, 4, 3],[4]] # liste contenant des listes
liste_vide = [] # ou list()
# Créer un tableau vide
mon_tableau = []
# Créer un tableau à partir de valeurs
>>> mon_tableau = ["Alan", "Ada", "Grace", "Ian"]
["Alan", "Ada", "Grace", "Ian"]
# Créer un tableau contenant 5 zéros
>>> mon_tableau = [0]*5
[0, 0 , 0, 0, 0]
index
(sa position dans la liste)
>>> mon_tableau = ["Alan", "Ada", "Grace", "Ian"]
>>> print(mon_tableau[1])
"Ada"
notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
len
)
et lui soustraire 1
.
notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
nb_notes = len(notes)
print(notes[nb_notes - 1])
notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
print( notes[len(notes) - 1])
notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
print( notes[-1])
tab = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
Que vaut tab[3]
?
alphabet = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
'M', 'N','O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ]
Quelle instruction permet d'accéder à la lettre E ?
informaticiens= ["Alan", "Ada", "Grace", "Ian"]
informaticiens[1] = "Ada Lovelace"
print(informaticiens)
informaticiens = ["Alan", "Ada", "Grace", "Ian"]
informaticiens[1] = "Ada Lovelace"
print(informaticiens)
["Alan", "Ada Lovelace", "Grace", "Ian"]
tab = [2, 8, 9, 2]
tab[2] = 4
Quelle est la valeur de tab
à la fin de son exécution ?
tab = [2, 8, 9, 2]
tab[2] = tab[2] + 5
Quelle est la valeur de tab
à la fin de son exécution ?
tab = [2, 8, 9, 2]
tab[3] = tab[1] + 5
tab[2] = tab[3] + 5
Quelle est la valeur de tab
à la fin de son exécution ?
append
. La méthode append
modifie sur place
l'objet tableau qui l'appelle.
mon_tableau = ["Alan", "Ada", "Grace", "Ian"]
mon_tableau.append("George")
print(mon_tableau)
["Alan", "Ada", "Grace", "Ian", "George"]
extend
. La méthode extend
modifie sur place l'objet tableau qui l'appelle.
mon_tableau = ["Alan", "Ada", "Grace", "Ian"]
tableau_2 = ["Charles", "Guido"]
mon_tableau.extend(tableau_2)
print(mon_tableau)
["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
tableau_1 = ["Alan", "Ada", "Grace", "Ian"]
tableau_2 = ["Charles", "Guido"]
mon_tableau = tableau_1 + tableau_2
print(mon_tableau)
["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
tab1 = [3,2,2]
tab2 = [1,5,1]
tab1.append(tab2)
print(tab1)
index
des élémentséléments
len( )
donnant
le nombre d'éléments contenus dans la liste.range()
, on obtient un itérable
composé de tous les index des éléments de la liste.
mon_tableau = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
for index in range(len(mon_tableau)):
print(mon_tableau[index])
Dans cet exemple, la longueur de mon_tableau
est 6.range(len(mon_tableau))
va être
successivement évaluée par range(6)
puis par un itérable
de longueur 6 qui contiendra les valeurs 0, 1, 2, 3, 4
et
5
qui seront succéssivement données à la variable index
.
for
v
in
iterable.
mon_tableau = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
for elmt in mon_tableau:
print(elmt)
Dans cet exemple, la variable elmt
prendra successivement les
valeurs contenues dans la variable mon_tableau
, c'est à dire
"Alan"
, "Ada"
, "Grace"
, "Ian"
.
for
. Ainsi pour le code précédent, il aurait été préférable
d'écrire :
mon_tableau = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
for informaticien in mon_tableau:
print(informaticien)
def feed(t):
for i in range(len(t)):
t[i] = t[i] + i
return t
Que renvoie l'instruction feed([12, 24, 32])
?
En python :
nom_liste[indice] = nouvelle_valeur
Exemples :
entiers = [1, 2, 8, 78] # liste d'entiers
entiers[1] = 14 # change la valeur à l'indice 1 par 14
print(entiers) # renvoie [1, 14, 8, 78]
En python :
len(nom_liste)
Exemples :
entiers = [1, 2, 8, 78] # liste d'entiers
print(len(entiers)) # renvoie 4
Il existe différentes façons d'ajouter un élément dans une liste, en voici deux.
En python :
nom_liste.append(valeur)
nom_liste.insert(indice, valeur)
Exemples :
entiers = [1, 2, 8, 78] # liste d'entiers
entiers.append(22) # ajoute 22 à la fin de entiers
print(entiers) # renvoie [1, 2, 8, 78, 22]
entiers.insert(2,-12)
print(entiers) # renvoie [1, 2, -12, 8, 78, 22]
Remarques :
.append(valeur)
permet d'ajouter une valeur
à la fin de la liste.
.insert(indice, valeur)
permet d'insérer une valeur
à
l'indice
précisé comme premier paramètre.Voici une première façon de supprimer un élément dans une liste.
En python :
nom_liste.pop(indice)
Exemples :
entiers = [1, 8, 2, 8, 78, 9] # liste d'entiers
val = entiers.pop() # supprime le dernier élément de entiers et le stocke dans val
print(val) # renvoie 9
print(entiers) # renvoie [1, 8, 2, 8, 78]
val = entiers.pop(3) # supprime la valeur de l'indice 2 et la retourne
print(val) # renvoie 8
print(entiers) # renvoie [1, 8, 2, 78]
Remarques :
.pop()
supprime la dernière valeur et renvoie la valeur supprimée..pop(indice)
supprime la valeur de l'indice
donné et renvoie la
valeur supprimée.Voici une seconde façon de supprimer un élément dans une liste.
En python :
nom_liste.remove(valeur)
Exemple :
entiers = [1, 8, 2, 8, 78, 9] # liste d'entiers
entiers.remove(8) # supprime le premier 8
print(entiers) # renvoie [1, 2, 8, 78, 9]
Remarques :
.remove(valeur)
supprime la première occurence de la valeur
donné
en paramètre.Création d'une liste ma_liste
contenant les valeurs
4, 6, 7, 12, 15, 22, -465
.
Affichage d'une valeur par ligne
Création d'une spirale dont les côtés ont les valeurs suivante : 5, 10, 15, 22, 25, 28, 35, 50, 100.