DIGICOM


Algorithme & programmation

Fonction et Liste

FONCTIONS

Introduction

Intro

Problèmatique


Comment réutiliser un bloc de code sans tout réécrire ?

Editeur


Intro

Définition

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 arguments ou paramètres de la fonction.

Les informations renvoyées par la fonction sont appelées résultats.

Intro

Approche

En 3 temps :

  • Simple (sans paramètres ni sorties)
  • Avec paramètres
  • Avec return

FONCTIONS

Simple

Simple

L'idée

On parle ici d'une fonction qui n'a pas de paramètres ni de return.

Il faut dissocier la création (ou déclaration) d'un fonction et son utilisation (ou appel).
C'est comme pour un outil, créer un marteau n'a rien a voir avec l'utiliser !

Simple

Comment ça marche : création d'une fonction

En python :

def nom_fonction():
    instructions1
    instructions2

Remarques :

  • le mot clé def permet de créer une fonction.
  • Les deux points à la fin de la ligne de def sont obligatoires.
  • Les instructions d'une fonction sont indentés (comme pour for et if)
  • Les variables créées dans une fonction n'existent que dans cette fonction !

Simple

Comment ça marche : Utilisation d'une fonction

Vous avez déjà utilisé des fonctions : begin_fill(), end_fill()
En python :

nom_fonction()

Remarques :

  • Il fait mettre les deux parenthèses () à la fin, même s'il n'y a rien dedans.
  • Une fonction n'a besoin d'être créée qu'une fois pour être utilisée autant de fois que nécessaire.

Simple

Exemple 1


Création puis utilisation d'une fonction 'bonjour' qui affiche "Bonjour à tous" dans le terminal.

Exemple 2


Création d'un côté d'un carré de 100 pixels (avec la rotation de 90°).

FONCTIONS

Paramètres

Paramètres

L'idée

On parle ici d'une fonction qui a des paramètres mais pas de return.

Les paramètres sont là pour "paramétrer" / modifier le comportement de la fonction lors de son exécution.

Paramètres

Comment ça marche : création d'une fonction avec paramètres

En python :

def nom_fonction(param1, param2):
    instructions1
    instructions2

Remarques :

  • Les paramètres d'une fonction sont placés entre parenthèses et séparés par des virgules s'il y en a plusieurs.
  • Les instructions dans la fonctions utilisent les paramètres grâce à leurs noms donnés entre parenthèses.

Paramètres

Comment ça marche : Utilisation d'une fonction avec paramètres

Là encore, vous avez déjà utilisé des fonctions avec paramètres : print(), input(), int(), ...
En python :

a = valeur
nom_fonction(a, 3)

Remarques :

  • La valeur d'un paramètre peut être donné
    • directement (3).
    • par une variable (a).
    • par une expression (calcul, ...).
  • Les instructions dans une fonction ne peuvent pas utiliser directement des variables définies hors de la fonction.

Paramètres

Exemple 1


Création puis utilisation d'une fonction 'bonjour' prend un paramètre 'prenom' qui affiche "Bonjour " puis prenom dans le terminal.

Exemple 2


Création d'un côté d'un carré de longueur 'long' (avec la rotation de 90°).

FONCTIONS

return

return

L'idée

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

Comment ça marche : création d'une fonction avec return

En python :

def nom_fonction(param1, param2):
    instructions
    return resultat

Remarques :

  • resultat peut-être une variable créée dans la fonction, une expression ou une valeur
  • return est un mot clé réservé au renvoi des résultats d'une fonction dans le programme ou elle a été appeler.
  • Une fois la ligne du return exécutée, la fonction s'arrête et l'exécution continue dans le programme principal.

return

Comment ça marche : Utilisation d'une fonction avec return

Là encore, vous avez déjà utilisé des fonctions avec return : input() et int() par exemple.
En python :

a = valeur
b = nom_fonction(a, 3)
print(nom_fonction(b, 2))

Remarques :
Le résultat d'une fonction peut être utilisé :

  • comme une valeur dans une variable (b).
  • dans une autre fonction (print)
  • par une expression (calcul, ...).

return

Exemple 1


Création puis utilisation d'une fonction 'bonjour' prend un paramètre 'prenom' qui retourne "Bonjour " puis prenom.

Exemple 2


Création d'une qui calcule l'angle entre les côtés d'un polygône régulier pour turtle à partir du nombre de côtés.

LISTE

LISTE

L'idée

Comment enregistrer une suite 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

Pixel-art : Une fonction qui crée un pixel d'une couleur. La couleur (parmis 12) est indiquée par un entier en respectant le code suivant :

Code 0 1 2 3 4 5 6 7 8 9 10 11
Valeur "white" "black" "gray" "red" "green" "blue" "orange" "maroon" "aqua" "fuchsia" "gold" "indigo"

LISTE

Comment ça marche : créer une liste

En python :

nom_liste = [valeur0, valeur1, ...]

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()
liste_iterable = list(range(12)) # les entiers de 0 à 11

Remarques :

  • Les crochets [] permettent de créer une liste.
  • Les éléments d'une liste doivent être séparés par des virgules.
  • Les éléments d'une liste peuvent être de différents types mais ça n'est pas conseillé !
  • Il exite une fonction list() qui permet de créer une liste. Elle peut être utilisée à partir d'un itérable.

LISTE

Comment ça marche : accéder aux valeurs d'une liste

En python :

nom_liste[indice]

Exemples :

entiers = [1, 2, 8, 78] # liste d'entiers
strings = ["slt", "bjr", "cc"] # liste de strings
print(entiers[0]) # renvoie 1
print(entiers[3]) # renvoie 78
print(strings[1:3]) # renvoie ['bjr', 'cc']
print(strings[-1]) # renvoie cc

Remarques :

  • Le premier indice est 0 puis 1, 2, ....
  • Pour accéder à une valeur stockée dans une liste, il faut utiliser les crochets [] entre lesquels on place l' indice de la valeur recherchée.
  • Pour accéder à une sous liste de la liste, il faut placer l'indice de début et de fin+1 séparé par : dans les crochets.
  • On peut accéder aux valeurs en partant de la fin avec des indices négatifs (-1 : dernier éléments).

LISTE

Comment ça marche : modifier un élément d'une liste

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]

LISTE

Comment ça marche : nombre d'éléments dans une liste

En python :

len(nom_liste)

Exemples :

entiers = [1, 2, 8, 78] # liste d'entiers
print(len(entiers)) # renvoie 4

LISTE

Comment ça marche : ajouter un élément dans une liste

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.
  • Elles doivent être collés à la liste où l'on souhaite insérer une valeur.

LISTE

Comment ça marche : supprimer un élément dans une liste

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.
  • Elle doit être collé à la liste à laquelle on souhaite supprimer la valeur.

LISTE

Comment ça marche : supprimer un élément dans une liste

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.
  • Elle doit être collé à la liste à laquelle on souhaite supprimer la valeur.

LISTE

Exemple 1


Création d'une liste ma_liste contenant les valeurs 4, 6, 7, 12, 15, 22, -465.
Affichage d'une valeur par ligne

Exemple 2


Création d'une spirale dont les côtés ont les valeurs suivante : 5, 10, 15, 22, 25, 28, 35, 50, 100.

Titre du popup

Message du popup !