Licence 1

Fonctions et listes

55 min15 exercicesSéquence 2.2Licence 1

Vidéo disponible dans la version Premium

Durée : 55 min

Fonctions et listes

### 1. Définir une fonction

Une fonction se définit avec le mot-clé def, suivi du nom, des paramètres entre parenthèses, et de : :

> def carre(x):
> return x ** 2

Le mot-clé return renvoie une valeur et termine immédiatement l'exécution de la fonction. Une fonction sans return explicite renvoie None.

Appel de la fonction : carre(5) renvoie 2525. Les paramètres peuvent avoir des valeurs par défaut :

> def puissance(x, n=2):
> return x ** n

puissance(3) donne 99 (utilise n=2n=2 par défaut), puissance(3, 3) donne 2727.

### 2. Portée des variables

Une variable définie à l'intérieur d'une fonction (variable locale) n'est pas accessible à l'extérieur. Une fonction peut lire une variable globale (définie hors de toute fonction), mais pour la modifier, il faut le mot-clé global (rarement recommandé en pratique — on préfère retourner une valeur).

### 3. Listes : création et indexation

Une liste Python est une séquence ordonnée et modifiable d'éléments, créée avec des crochets :

> L = [3, 7, 1, 9, 4]

L'indexation commence à 00 : L[0] vaut 33, L[1] vaut 77. Les indices négatifs comptent depuis la fin : L[-1] vaut 44 (dernier élément), L[-2] vaut 99.

Le découpage (slicing) L[a:b] extrait les éléments d'indices aa à b1b-1 : L[1:3] donne [7, 1].

La fonction len(L) renvoie le nombre d'éléments de la liste (ici 55).

### 4. Parcourir une liste

> for x in L:
> print(x)

parcourt chaque élément de L directement (sans passer par les indices). Si l'on a besoin de l'indice et de la valeur, on utilise enumerate :

> for i, x in enumerate(L):
> print(i, x)

### 5. Méthodes courantes sur les listes

| Méthode / fonction | Effet |
|---|---|
| L.append(x) | ajoute x à la fin de L |
| L.pop() | retire et renvoie le dernier élément |
| L.sort() | trie L en place (ordre croissant) |
| sum(L) | somme des éléments |
| max(L), min(L) | valeur maximale, minimale |
| x in L | renvoie True si x appartient à L |

Exemple résolu : écrire une fonction qui renvoie la moyenne des éléments d'une liste.

> def moyenne(L):
> return sum(L) / len(L)

moyenne([2, 4, 6, 8]) renvoie 204=5,0\dfrac{20}{4}=5{,}0.

### 6. Construire une liste avec une boucle

Pour construire une nouvelle liste à partir d'un calcul répété, on initialise une liste vide et on utilise append :

> carres = []
> for i in range(5):
> carres.append(i ** 2)

Donne carres = [0, 1, 4, 9, 16]. (Il existe une syntaxe plus compacte, la liste en compréhension [i**2 for i in range(5)], équivalente mais non indispensable au niveau L1.)

### 7. Résumé méthodologique

| Concept | Syntaxe clé |
|---|---|
| Définir une fonction | def nom(params): ... return ... |
| Indexer une liste | L[i] (depuis 00), L[-1] (dernier élément) |
| Découper une liste | L[a:b] (de aa inclus à bb exclu) |
| Ajouter un élément | L.append(x) |

Exercices

Que renvoie l'appel carre(4) pour la fonction def carre(x): return x ** 2 ?

Soit L = [10, 20, 30, 40]. Que vaut L[1] ?

Vrai ou faux : une fonction Python sans instruction return renvoie automatiquement None.

Que vaut len([5, 8, 2, 9, 1]) ?

Quelle méthode ajoute un élément à la fin d'une liste L ?

Suivez votre progression

Connectez-vous pour sauvegarder votre avancement et gagner des XP.

Se connecter