Découvrir les bases de la programmation en Python dans le cadre du thème « La programmation » du programme SNT 2nde
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 !")Du problème à la solution : les étapes de la programmation
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")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.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_sinonLes 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.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)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.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 resultatnom_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.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]notes[0] vaut 12, notes[4] vaut 10.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
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.int, float, str, bool.if/elif/else) exécutent des instructions selon une condition.for (séquence connue) et while (condition dynamique) répètent des instructions.def et return.for elem in liste.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.