Algorithmique et programmation Python en 1ère
Cours complet, points clés à retenir et exercices d'entraînement de algorithmique et programmation python pour les élèves de 1ère. Conforme au programme officiel.
Réviser notion par notion
Ce que tu vas réviser
- Variables, affectation et types de données en Python
- Générer une liste : en extension, par ajouts successifs, en compréhension
- Manipuler les éléments d'une liste et leurs indices ; parcourir une liste
- Fonctions : définition, paramètres, valeur de retour
Variables, affectation et types de données
Une variable est un nom qui désigne une valeur rangée en mémoire. L'affectation, écrite avec le signe =, donne une valeur à une variable : dans x = 5, on range 5 dans x. Ce n'est pas une égalité mathématique : x = x + 1 calcule x + 1 puis range le résultat dans x. Les principaux types sont int (entier), float (nombre à virgule, écrit avec un point en Python : 2.5), str (chaîne de caractères, entre guillemets), bool (True ou False) et list (liste).
Exemple
Après a = 7 puis a = a + 3, la variable a vaut 10 (type int). Avec prix = 2.5, prix est de type float. "7" + "3" donne la chaîne "73" (type str), alors que 7 + 3 donne l'entier 10. L'expression 10 > 3 vaut True (type bool).
À retenir : L'affectation se lit de droite à gauche : on calcule d'abord la valeur à droite du signe =, puis on la range dans la variable à gauche.
Générer une liste
Une liste est une suite ordonnée de valeurs, écrite entre crochets. On peut la créer de trois façons : en extension (on écrit tous les éléments), par ajouts successifs (on part de la liste vide [] et on ajoute des éléments avec append), ou en compréhension (on décrit ses éléments par une formule et une boucle).
Exemple
Trois façons d'obtenir la liste des carrés [0, 1, 4, 9, 16] : ```python L1 = [0, 1, 4, 9, 16] # en extension L2 = [] # par ajouts successifs for i in range(5): L2.append(i**2) L3 = [i**2 for i in range(5)] # en compréhension ``` Autre exemple : [3*k for k in range(1, 11)] donne les 10 premiers multiples de 3 : [3, 6, 9, ..., 30].
À retenir : range(n) parcourt les entiers 0, 1, ..., n − 1 ; range(a, b) parcourt a, a + 1, ..., b − 1. L.append(x) ajoute x à la fin de la liste L.
Manipuler les éléments d'une liste et parcourir une liste
Chaque élément d'une liste L est repéré par son indice, qui commence à 0 : L[0] est le premier élément, L[1] le deuxième, et L[-1] le dernier. len(L) donne le nombre d'éléments. L[i] = v remplace l'élément d'indice i par v. On parcourt une liste soit par ses éléments (for x in L), soit par ses indices (for i in range(len(L))).
Exemple
Avec L = [12, 15, 9, 20] : L[0] vaut 12, L[3] vaut 20, L[-1] vaut 20 et len(L) vaut 4. Après L[1] = 16, la liste devient [12, 16, 9, 20]. Pour calculer la somme des éléments : ```python s = 0 for x in L: s = s + x ``` À la fin, s vaut 12 + 16 + 9 + 20 = 57.
À retenir : Dans une liste de n éléments, les indices vont de 0 à n − 1 ; écrire L[n] provoque une erreur.
Fonctions : définition, paramètres, valeur de retour
Une fonction regroupe des instructions sous un nom. On la définit avec def, suivi de son nom et de ses paramètres entre parenthèses ; le bloc indenté contient les instructions, et return renvoie le résultat. On l'appelle ensuite en lui donnant des valeurs (les arguments).
Exemple
```python def moyenne(L): s = 0 for x in L: s = s + x return s / len(L) ``` L'appel moyenne([12, 15, 9, 20]) renvoie 56 / 4 = 14.0.
À retenir : return renvoie une valeur réutilisable (on peut l'affecter à une variable) et termine la fonction ; print affiche seulement un résultat à l'écran.
Les points clés
- x = 5 est une affectation : la valeur de droite est rangée dans la variable de gauche
- Types principaux : int, float, str, bool, list
- Créer une liste : en extension [2, 4, 6], par ajouts successifs avec append, en compréhension [2*k for k in range(1, 4)]
- Les indices d'une liste L vont de 0 à len(L) − 1 ; L[-1] est le dernier élément
- Parcourir une liste : for x in L (par les éléments) ou for i in range(len(L)) (par les indices)
- Une fonction se définit avec def, reçoit des paramètres et renvoie un résultat avec return
L'essentiel
En Python, on range des valeurs dans des variables, on regroupe des valeurs dans des listes (créées en extension, par ajouts successifs ou en compréhension, et repérées par des indices qui commencent à 0), et on écrit des fonctions qui reçoivent des paramètres et renvoient un résultat avec return.
Exercices d'entraînement
Entraîne-toi sur ces exercices, puis fais-toi corriger pas à pas par le tuteur.
Exercice 1
On considère le programme suivant : ```python L = [] for k in range(1, 6): L.append(2*k + 1) ``` 1) Quel est le contenu de L à la fin du programme ? 2) Écris une instruction qui crée la même liste en compréhension. 3) Que valent L[0], L[4] et len(L) ?
Corrige cet exercice avec le tuteur →Exercice 2
Écris une fonction nb_admis(notes) qui reçoit une liste de notes et renvoie le nombre de notes supérieures ou égales à 10. Que renvoie nb_admis([8, 12, 10, 15, 6]) ?
Corrige cet exercice avec le tuteur →