AccueilLycée Première GénéraleSpé NSI (Numérique et Sciences Informatiques)Langages et programmation : Python avancé
💻Lycée Première GénéraleSpé NSI (Numérique et Sciences Informatiques)

Langages et programmation : Python avancé

Cours complet de Spé NSI (Numérique et Sciences Informatiques) pour le Lycée Première Générale. Révise efficacement avec StudentAI.

Points clés à retenir

  • 1Les listes en Python sont des structures de données qui peuvent contenir des éléments de types différents et sont définies en utilisant des crochets, par exemple : ma_liste = [1, 'texte', 3.14].
  • 2Les fonctions en Python sont définies avec le mot-clé 'def', suivi du nom de la fonction et des parenthèses, permettant de regrouper des instructions réutilisables.
  • 3La gestion des exceptions en Python se fait avec les blocs 'try' et 'except', permettant de traiter les erreurs sans interrompre l'exécution du programme.
  • 4Les dictionnaires en Python sont des collections non ordonnées de paires clé-valeur, définies avec des accolades, par exemple : mon_dict = {'nom': 'Alice', 'âge': 25}.
  • 5La compréhension de liste est une technique concise pour créer des listes en Python, utilisant une syntaxe de type [expression for item in iterable], par exemple : [x**2 for x in range(10)].

Langages et programmation : Python avancé

Introduction


Dans ce chapitre, nous allons approfondir nos connaissances en Python, un langage de programmation incontournable dans le domaine du numérique. En explorant des concepts avancés, nous allons découvrir comment optimiser nos programmes, gérer des erreurs et utiliser des bibliothèques externes. Ces compétences sont essentielles pour développer des applications plus complexes et répondre aux enjeux du monde numérique actuel. Nous allons également examiner des exemples pratiques et des exercices pour renforcer notre compréhension.

1. Structures de données avancées

1.1 Les listes et leurs méthodes


Les listes en Python sont des structures de données très flexibles. En plus des opérations de base, Python offre des méthodes avancées pour manipuler les listes. Les listes peuvent contenir des éléments de différents types, ce qui les rend très polyvalentes.

#### Exemples de méthodes de listes :

  • append() : Ajoute un élément à la fin de la liste.

  • insert(index, element) : Insère un élément à une position donnée.

  • remove(element) : Supprime la première occurrence d'un élément.

  • sort() : Trie les éléments de la liste.

  • reverse() : Inverse l'ordre des éléments dans la liste.


Exemple concret :
```python
ma_liste = [3, 1, 4, 2]
ma_liste.append(5) # ma_liste devient [3, 1, 4, 2, 5]
ma_liste.insert(2, 'a') # ma_liste devient [3, 1, 'a', 4, 2, 5]
ma_liste.remove(1) # ma_liste devient [3, 'a', 4, 2, 5]
ma_liste.sort() # ma_liste devient [2, 3, 4, 5, 'a']
ma_liste.reverse() # ma_liste devient ['a', 5, 4, 3, 2]
```

#### Mini-exercice :
Créez une liste contenant les nombres de 1 à 10. Ajoutez le nombre 11 à la fin, insérez le nombre 0 au début, puis supprimez le nombre 5. Affichez la liste à chaque étape.

Correction :
```python
ma_liste = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(ma_liste) # Affiche [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ma_liste.append(11)
print(ma_liste) # Affiche [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
ma_liste.insert(0, 0)
print(ma_liste) # Affiche [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
ma_liste.remove(5)
print(ma_liste) # Affiche [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11]
```

1.2 Les dictionnaires


Les dictionnaires sont des collections non ordonnées de paires clé-valeur. Ils permettent de stocker des données de manière associative, ce qui facilite l'accès à des valeurs via des clés significatives.

Exemple concret :
```python
mon_dictionnaire = {'nom': 'Alice', 'age': 17, 'ville': 'Paris'}
print(mon_dictionnaire['nom']) # Affiche 'Alice'
mon_dictionnaire['age'] = 18 # Met à jour l'âge
mon_dictionnaire['pays'] = 'France' # Ajoute une nouvelle clé
```

#### Mini-exercice :
Créez un dictionnaire pour stocker les informations d'un étudiant (nom, âge, matière préférée). Modifiez l'âge et ajoutez une nouvelle clé pour le pays d'origine.

Correction :
```python
etudiant = {'nom': 'Bob', 'age': 16, 'matiere_preferee': 'Math'}
print(etudiant) # Affiche {'nom': 'Bob', 'age': 16, 'matiere_preferee': 'Math'}
etudiant['age'] = 17 # Met à jour l'âge
etudiant['pays'] = 'France' # Ajoute le pays d'origine
print(etudiant) # Affiche {'nom': 'Bob', 'age': 17, 'matiere_preferee': 'Math', 'pays': 'France'}
```

2. Gestion des erreurs

2.1 Les exceptions


La gestion des exceptions permet de rendre un programme plus robuste en anticipant les erreurs potentielles. Cela est particulièrement utile pour éviter que le programme ne plante en cas d'erreur.

Structure de base :
```python
try:
# Code qui peut causer une erreur
except ExceptionType:
# Code à exécuter en cas d'erreur
```

Exemple concret :
```python
try:
x = int(input('Entrez un nombre : '))
except ValueError:
print('Ce n est pas un nombre valide!')
```

#### Mini-exercice :
Écrivez un programme qui demande à l'utilisateur de saisir un nombre et qui, en cas d'erreur, affiche un message d'erreur et redemande la saisie.

Correction :
```python
while True:
try:
x = int(input('Entrez un nombre : '))
break # Sort de la boucle si l'entrée est valide
except ValueError:

Accède au cours complet gratuitement

Tableaux récapitulatifs, mnémotechniques, exercices corrigés, QCM et colle orale IA — tout est inclus.

S'inscrire gratuitement

Autres chapitres — Spé NSI (Numérique et Sciences Informatiques)

Prêt à réviser ton Lycée Première Générale ?

QCM illimités, colle orale IA, flashcards et bien plus — 100% gratuit.

Commencer à réviser