En classe de Seconde, tu as découvert les listes comme une manière de stocker plusieurs valeurs sous un seul nom. En Première, il s'agit maintenant de savoir les manipuler efficacement : ajouter, retirer et ordonner des éléments. Une liste Python est une collection ordonnée et modifiable (on dit qu'elle est mutable) : on peut la faire évoluer après sa création, sans devoir la recréer entièrement.
Quelques rappels utiles pour manipuler une liste au quotidien :
len(notes) renvoie le nombre d'éléments de la liste.notes[0] accède au premier élément, notes[-1] au dernier.append(x) ajoute x à la fin ; remove(x) retire la première occurrence de x (erreur si absent) ; sort() trie la liste sur place, sans rien renvoyer.À côté des listes, Python propose deux autres structures de données très employées : le tuple et le dictionnaire. Chacun répond à un besoin précis.
Liste [ ] : collection ordonnée et modifiable d'éléments, accessibles par leur position (indice).
Tuple ( ) : collection ordonnée mais non modifiable après sa création — on dit qu'elle est immuable. On l'utilise pour des données qui ne doivent pas changer (coordonnées, jour et mois, etc.).
Dictionnaire { } : collection non ordonnée par position, formée de paires clé : valeur. On accède à une valeur par sa clé, pas par un indice numérique.
defUne fonction est un bloc d'instructions réutilisable, auquel on donne un nom une fois pour toutes. Elle évite de recopier le même code à plusieurs endroits d'un programme et rend celui-ci plus lisible. En Python, on définit une fonction avec le mot-clé def.
Une fonction qui calcule la moyenne d'une liste de notes :
Une fonction peut recevoir des informations en entrée : ce sont les paramètres, placés entre parenthèses. Elle peut aussi renvoyer un résultat grâce au mot-clé return : c'est la valeur de retour. Une fonction peut avoir plusieurs paramètres, séparés par des virgules.
print() dans une fonction se contente d'afficher une valeur à l'écran : le résultat disparaît ensuite, il ne peut pas être réutilisé ailleurs dans le programme. return renvoie une valeur que l'on peut stocker dans une variable et réutiliser plus loin.
Une chaîne de caractères se comporte, pour beaucoup d'opérations, comme une liste de caractères : on peut en extraire une portion grâce au slicing (découpage), et Python fournit de nombreuses méthodes prêtes à l'emploi pour la transformer.
Un programme a souvent besoin de conserver des données au-delà de son exécution : c'est le rôle des fichiers. Python permet d'ouvrir un fichier avec open(), puis d'y écrire avec write() ou d'y lire avec read(). La syntaxe recommandée est with open(...) as f : elle garantit que le fichier est correctement fermé à la fin, même en cas d'erreur.
Le mode d'ouverture précise ce que l'on souhaite faire : "r" pour lire (read), "w" pour écrire en écrasant le contenu existant (write), "a" pour ajouter à la suite du fichier (append).
Un module est un fichier Python qui regroupe des fonctions déjà écrites, prêtes à être réutilisées. Plutôt que de tout reprogrammer, on importe un module avec import et on utilise ses fonctions en les préfixant par le nom du module.
Le module random fournit des fonctions de hasard, math des fonctions mathématiques, et datetime des outils pour manipuler dates et heures. Il existe des dizaines d'autres modules dans la bibliothèque standard de Python.
try / exceptCertaines instructions peuvent provoquer une erreur à l'exécution : par exemple, convertir en nombre une saisie qui n'en est pas un. Sans précaution, cette erreur arrête brutalement le programme. Le bloc try / except permet d'anticiper ces erreurs et d'y réagir proprement.
Si l'utilisateur saisit "seize" au lieu de 16, int() déclenche une erreur de type ValueError ; le programme ne plante pas, il exécute simplement le bloc except et affiche le message d'erreur prévu.
En combinant tout ce qui précède — listes, fonctions, paramètres et retour, chaînes, gestion des erreurs — on peut construire un véritable petit programme interactif, piloté par un menu affiché dans la console et une boucle while qui tourne tant que l'utilisateur ne choisit pas de quitter.
Ce programme reste actif tant que l'utilisateur ne saisit pas "3" : c'est le rôle de while True associé à l'instruction break, qui interrompt la boucle.
[ ] est ordonnée et modifiable : append() ajoute, remove() retire, sort() trie.( ) est ordonné mais immuable ; un dictionnaire { } associe des valeurs à des clés.def nom(paramètres): et se déclenche par un appel nom(valeurs).return renvoie une valeur réutilisable ; print() ne fait qu'afficher, sans rien renvoyer.chaine[debut:fin] extrait une portion de chaîne ; .upper(), .split(), .strip(), .replace() la transforment.with open("fichier.txt", "r") as f: ouvre un fichier et le referme automatiquement.import ; random, math et datetime sont très utilisés.try / except permet d'anticiper une erreur d'exécution sans faire planter le programme.On te donne la liste de notes suivante : notes = [11, 13, 9, 16].
append() ajoute la note à la fin, sort() réordonne la liste sur place, et sum() associé à len() permet de calculer la moyenne sans boucle explicite.
Crée un dictionnaire nommé eleve contenant les informations suivantes : nom, prénom, âge, classe et moyenne. Affiche ensuite une phrase récapitulative construite à partir de ce dictionnaire.
Chaque information est stockée sous une clé explicite ("nom", "age"...), ce qui rend le code plus lisible qu'une liste où l'on devrait retenir la position de chaque donnée.
Écris une fonction moyenne_deux(a, b) qui reçoit deux nombres en paramètres et qui renvoie leur moyenne. Appelle cette fonction avec les valeurs 14 et 9, stocke le résultat dans une variable, puis affiche-le.
La fonction utilise return et non print() : le résultat est ainsi disponible dans la variable resultat et pourrait être réutilisé plus loin dans le programme, par exemple dans un autre calcul.
Un fichier notes.txt contient une note par ligne (par exemple 12, 15 et 9 sur trois lignes). Écris un programme qui lit ce fichier, convertit chaque ligne en nombre, puis calcule et affiche la moyenne de la classe.
ligne.strip() retire le caractère de retour à la ligne présent en fin de chaque ligne lue, avant que float() ne la convertisse en nombre.
Conçois un mini-programme qui affiche un menu en boucle proposant trois choix : « 1. Ajouter une note », « 2. Afficher la moyenne » et « 3. Quitter ». Le programme doit utiliser une fonction pour calculer la moyenne, gérer une saisie invalide avec try / except, et s'arrêter proprement lorsque l'utilisateur choisit de quitter.
Ce programme combine une boucle while True, une fonction avec return, une liste modifiée dynamiquement et un bloc try / except pour éviter qu'une saisie incorrecte n'interrompe le programme.
10 questions · Correction immédiate
Que retourne ce code ?notes = [12, 15, 9]notes.append(18)print(notes)
Que fait l'instruction fruits.remove("banane") si fruits = ["pomme", "banane", "kiwi"] ?
Quelle affirmation est correcte à propos des tuples en Python ?
Que renvoie ce code ?eleve = {"nom": "Aline", "age": 16}print(eleve["age"])
Que va afficher ce programme ?def carre(x): return x * xresultat = carre(4)print(resultat)
Une fonction utilise print(x * x) au lieu de return x * x. Que se passe-t-il si on écrit a = ma_fonction(5) puis print(a) ?
Que renvoie ce code ?mot = "Informatique"print(mot[0:4])
Quelle instruction ouvre correctement un fichier en lecture, en garantissant qu'il sera bien refermé ?
Que renvoie ce code ?import mathprint(math.sqrt(16))
Que va afficher ce programme si l'utilisateur saisit "abc" ?try: n = int(input("Un nombre : "))except ValueError: print("Erreur de saisie")