Lycée · 2ⁿᵈᵉ · Sciences numériques et technologie (SNT)
Programmation en Python
Découvrir les bases de la programmation en Python dans le cadre du thème « La programmation » du programme SNT 2nde
À propos de cette page
Qu'est-ce qu'un programme ?
Un programme informatique est une suite d'instructions écrites dans un langage que la machine peut exécuter. Python est un langage de haut niveau : ses instructions se rapprochent du langage humain et sont traduites en langage machine automatiquement.
En SNT, on utilise Python (version 3), disponible en ligne sur basthon.fr ou installable depuis python.org. On écrit le code dans un éditeur ou un notebook Jupyter.
print("Bonjour le monde !")Cette instruction affiche le texte entre guillemets dans la console.
Du problème à la solution : les étapes de la programmation
Variables et types de données
Une variable est un nom associé à une valeur stockée en mémoire. En Python, on crée une variable par affectation avec le symbole =.
x = 5 crée une variable nommée x contenant la valeur entière 5. Python détermine automatiquement le type de la variable.| Type | Mot-clé Python | Exemple | Description |
|---|---|---|---|
| Entier | int | age = 16 | Nombre entier (positif ou négatif) |
| Flottant | float | note = 14.5 | Nombre décimal |
| Chaîne | str | prenom = "Alice" | Texte entre guillemets |
| Booléen | bool | majeur = True | True ou False |
prenom = "Alice"age = 17taille = 1.65print(prenom, "a", age, "ans")Affiche :
Alice a 17 anstype(x) renvoie le type d'une variable. La fonction int("42") convertit une chaîne en entier.= (affectation) et == (comparaison). Écrire x = 5 affecte 5 à x ; x == 5 teste si x vaut 5.Instructions conditionnelles
Les structures conditionnelles permettent au programme d'exécuter différentes instructions selon qu'une condition est vraie ou fausse. En Python, on utilise if, elif et else.
if condition: instruction_si_vraielif autre_condition: instruction_sinon_sielse: instruction_sinonLe bloc indenté n'est exécuté que si la condition est vérifiée.
Les opérateurs de comparaison sont : == (égal), != (différent), <, >, <=, >=. Les opérateurs logiques sont and, or, not.
note = 12if note >= 10: print("Admis")elif note >= 8: print("Rattrapage")else: print("Ajourné")Enchaînement des blocs conditionnels en Python
: en fin de ligne est obligatoire après if, elif et else. L'indentation est obligatoire dans le bloc.Les boucles
Une boucle permet de répéter plusieurs fois un bloc d'instructions. Python propose deux types de boucles : for et while.
for i in range(5): print(i)Affiche 0, 1, 2, 3, 4. La fonction
range(n) génère les entiers de 0 à n−1.compteur = 0while compteur < 5: print(compteur) compteur = compteur + 1| Boucle | Quand l'utiliser | Risque |
|---|---|---|
for | Nombre d'itérations connu | Aucun |
while | Condition d'arrêt dynamique | Boucle infinie si condition toujours vraie |
total = 0for i in range(1, 11): total = total + iprint(total) → 55range(1, 11) génère les entiers de 1 à 10 (la borne supérieure est exclue). range(10) génère de 0 à 9.Les fonctions
Une fonction est un bloc de code nommé et réutilisable. Elle peut recevoir des paramètres (entrées) et retourner une valeur (sortie) avec return.
def nom_fonction(parametre1, parametre2): # corps de la fonction return resultatOn appelle la fonction avec :
nom_fonction(valeur1, valeur2)def perimetre_rectangle(longueur, largeur): p = 2 * (longueur + largeur) return pprint(perimetre_rectangle(5, 3)) → 16Les fonctions permettent de décomposer un problème en sous-problèmes, d'éviter les répétitions et de rendre le code plus lisible.
print(), input(), len(), int(), float(), str(), range(), abs(), max(), min().return arrête l'exécution de la fonction.Les listes
Une liste est une structure de données qui permet de stocker plusieurs valeurs dans une même variable. Les éléments sont séparés par des virgules et entourés de crochets.
notes = [12, 15, 8, 17, 10]Les éléments sont numérotés à partir de 0 :
notes[0] vaut 12, notes[4] vaut 10.La longueur s'obtient avec
len(notes) → 5.| Opération | Syntaxe | Résultat |
|---|---|---|
| Accès | notes[2] | 8 (3e élément) |
| Modification | notes[0] = 14 | Remplace 12 par 14 |
| Ajout | notes.append(11) | Ajoute 11 à la fin |
| Longueur | len(notes) | Nombre d'éléments |
| Tranche | notes[1:3] | [15, 8] (indices 1 et 2) |
notes = [12, 15, 8, 17, 10]total = 0for n in notes: total = total + nmoyenne = total / len(notes)print(moyenne) → 12.4Visualisation d'une liste de notes avec un graphique en barres
Algorithmes classiques
La SNT introduit quelques algorithmes fondamentaux que l'on rencontre fréquemment en programmation.
def maximum(liste): maxi = liste[0] for val in liste: if val > maxi: maxi = val return maxidef compter_admis(notes): compteur = 0 for n in notes: if n >= 10: compteur = compteur + 1 return compteursorted(liste) trie une liste et max(liste), min(liste), sum(liste) calculent directement le maximum, le minimum et la somme.- Un programme est la traduction d'un algorithme dans un langage de programmation (ici Python).
- Une variable est un nom associé à une valeur ; les types principaux sont
int,float,str,bool. - Les structures conditionnelles (
if/elif/else) exécutent des instructions selon une condition. - Les boucles
for(séquence connue) etwhile(condition dynamique) répètent des instructions. - Une fonction est un bloc de code nommé, réutilisable, avec
defetreturn. - Une liste stocke plusieurs valeurs indexées à partir de 0 ; on la parcourt avec
for elem in liste. - Les algorithmes de parcours, de recherche de maximum et de tri sont des fondamentaux à connaître.
Cours particuliers de sciences numériques et technologie (snt) à Marseille, en présentiel ou à distance — un prof qui s'adapte à ton rythme et reprend ce qui coince.
Soutien scolaire à Marseille · Cours particuliers au lycée · Aide aux devoirs