INRACI · Informatique & Systèmes · 2025

Synthèse Python

32 concepts essentiels · Bases → Fichiers Excel

01 — 03 Affichage & Saisie utilisateur
01
Afficher du texte avec print()
La fonction print() affiche du texte ou des valeurs dans la console. Elle accepte plusieurs arguments séparés par des virgules et un paramètre end pour contrôler le retour à la ligne.
print("Bonjour, monde !") print("Nom :", "Quentin", "— Age :", 18) print("Ligne 1", end=" | ") print("Ligne 2") # → Ligne 1 | Ligne 2
02
Récupérer une saisie avec input()
input() affiche un message et attend que l'utilisateur tape du texte. La valeur retournée est toujours une chaîne de caractères (str), peu importe ce qui est tapé.
nom = input("Entrez votre nom : ") print("Bienvenue,", nom)
03
Convertir les types de saisies clavier
Comme input() renvoie toujours du texte, on doit convertir si on veut faire des calculs : int() pour un entier, float() pour un décimal, str() pour repasser en texte.
age = int(input("Votre âge : ")) # "18" → 18 taille = float(input("Taille (m) : ")) # "1.82" → 1.82 print("Dans 10 ans :", age + 10)
04 — 06 Variables & Types de données
04
Déclarer et nommer une variable
Une variable est une case mémoire nommée. On l'assigne avec =. En Python : noms en minuscules, mots séparés par _ (snake_case), pas de chiffre au début, pas d'accents.
prenom = "Quentin" age_utilisateur = 18 est_connecte = True # Plusieurs assignations en une ligne : x, y, z = 1, 2, 3
05
Les types entiers et flottants
int = nombre entier sans virgule. float = nombre à virgule flottante. La fonction type() permet de vérifier le type d'une variable. La division / retourne toujours un float, // retourne un int (division entière).
entier = 42 # int decimal = 3.14 # float print(type(entier)) # <class 'int'> print(10 / 3) # 3.3333... print(10 // 3) # 3 (entier) print(10 % 3) # 1 (reste)
06
Manipuler des chaînes de caractères
Les strings sont des séquences de caractères. On les concatène avec +, on les formate avec les f-strings (f"..."), et on accède aux caractères par index (0-based).
s = "Python" print(s[0]) # P print(s[-1]) # n (dernier) print(s.upper()) # PYTHON print(s.lower()) # python print(len(s)) # 6 nom = "Quentin" print(f"Bonjour {nom} !") # f-string
07 — 11 Conditions & Comparaisons
07 — 09
if / else / elif
if teste une condition. else gère le cas contraire. elif (else if) permet de tester plusieurs cas dans l'ordre. L'indentation (4 espaces) est obligatoire en Python.
note = int(input("Note /20 : ")) if note >= 16: print("Très bien !") elif note >= 12: print("Bien") elif note >= 10: print("Suffisant") else: print("Insuffisant")
10
Comparer des valeurs — Opérateurs
Les opérateurs de comparaison retournent True ou False. À ne pas confondre == (comparaison) avec = (assignation).
# == égal != différent # > supérieur < inférieur # >= sup. ou égal <= inf. ou égal x = 10 print(x == 10) # True print(x != 5) # True print(x >= 20) # False
11
Combiner des conditions — and / or
and : les deux conditions doivent être vraies. or : au moins une doit être vraie. not inverse une condition.
age = 18 permis = True if age >= 18 and permis: print("Peut conduire") if age < 16 or not permis: print("Ne peut pas conduire")
12 — 16 Listes & Tuples
12 — 14
Listes — créer, accéder, modifier
Une liste est une collection ordonnée et modifiable. Indexée à partir de 0. On peut ajouter avec append(), supprimer avec remove() ou pop(), et modifier un élément directement par son index.
fruits = ["pomme", "banane", "cerise"] # Accès print(fruits[0]) # pomme print(fruits[-1]) # cerise # Ajout fruits.append("mangue") fruits.insert(1, "kiwi") # insère à l'index 1 # Suppression fruits.remove("banane") # par valeur fruits.pop(0) # par index # Modification fruits[0] = "fraise" print(len(fruits)) # longueur
15 — 16
Tuples — définir & différences avec les listes
Un tuple est comme une liste mais immuable (non modifiable après création). Syntaxe avec des parenthèses (). Utile pour des données constantes (coordonnées GPS, jours de la semaine, etc.).
point = (48.85, 2.35) # latitude, longitude print(point[0]) # 48.85 # point[0] = 0 → ERREUR : tuple immuable ! jours = ("Lun", "Mar", "Mer", "Jeu", "Ven") # LISTE vs TUPLE : # Liste → [ ] modifiable, méthodes add/remove # Tuple → ( ) fixe, plus rapide en lecture
17 — 21 Boucles — for, while, break, continue
17 — 18
Boucle for & range()
for parcourt chaque élément d'un itérable (liste, string, range…). range(start, stop, step) génère une séquence de nombres — stop est exclu.
fruits = ["pomme", "banane", "cerise"] for fruit in fruits: print(fruit) # range : 0, 1, 2, 3, 4 for i in range(5): print(i) # range(2, 10, 2) → 2, 4, 6, 8 for n in range(2, 10, 2): print(n)
19
Boucle while
while répète un bloc tant que la condition est vraie. Attention aux boucles infinies — s'assurer que la condition deviendra fausse à un moment.
compteur = 0 while compteur < 5: print(f"Tour {compteur}") compteur += 1 # ne pas oublier ! # Saisie jusqu'à valeur correcte : saisie = "" while saisie != "quitter": saisie = input("Commande : ")
20 — 21
break & continue
break stoppe immédiatement la boucle. continue saute à l'itération suivante sans exécuter le reste du bloc.
# break — quitter dès qu'on trouve 5 for i in range(10): if i == 5: break print(i) # affiche 0,1,2,3,4 # continue — sauter les nombres pairs for i in range(10): if i % 2 == 0: continue print(i) # affiche 1,3,5,7,9
22 — 26 Modules OS & Time
22 — 24
Module os — fichiers & chemins
Le module os permet d'interagir avec le système de fichiers : lister un dossier, obtenir le chemin courant, construire des chemins compatibles tous systèmes avec os.path.join().
import os # Répertoire courant print(os.getcwd()) # Lister les fichiers d'un dossier fichiers = os.listdir(".") print(fichiers) # Construire un chemin (cross-platform) chemin = os.path.join("dossier", "fichier.txt") # Vérifier si un fichier existe if os.path.exists(chemin): print("Le fichier existe")
25 — 26
Module time — pause & horodatage
time.sleep(n) met le programme en pause pendant n secondes. time.time() retourne le timestamp Unix (secondes depuis 1970), utile pour mesurer des durées.
import time # Pause de 2 secondes print("Démarrage...") time.sleep(2) print("2 secondes plus tard !") # Mesurer le temps d'exécution debut = time.time() for _ in range(1000000): pass fin = time.time() print(f"Durée : {fin - debut:.3f}s")
27 — 32 OpenPyXL — Manipulation de fichiers Excel
27
Installer et importer OpenPyXL
OpenPyXL est une bibliothèque tierce permettant de lire et écrire des fichiers .xlsx. On l'installe via pip une seule fois, puis on l'importe dans le script.
# Dans le terminal / cmd : # pip install openpyxl import openpyxl # Vérifier la version installée : print(openpyxl.__version__)
28 — 30
Charger, créer un classeur & sélectionner une feuille
load_workbook() ouvre un fichier existant. Workbook() crée un nouveau classeur vide. On accède à une feuille par son nom ou via active pour la feuille courante.
import openpyxl # Ouvrir un fichier existant wb = openpyxl.load_workbook("donnees.xlsx") ws = wb.active # feuille active ws = wb["Feuille1"] # par nom # Créer un nouveau classeur nouveau_wb = openpyxl.Workbook() ws2 = nouveau_wb.active ws2.title = "MaDonnée" # renommer # Lister toutes les feuilles print(wb.sheetnames)
31 — 32
Lire, écrire des cellules & sauvegarder
On accède à une cellule par ws["A1"] ou ws.cell(row=1, column=1). La propriété .value lit ou écrit la valeur. On sauvegarde avec wb.save("fichier.xlsx").
import openpyxl wb = openpyxl.Workbook() ws = wb.active # Écrire des données ws["A1"].value = "Nom" ws["B1"].value = "Score" ws.cell(row=2, column=1).value = "Quentin" ws.cell(row=2, column=2).value = 98 # Lire une cellule print(ws["A1"].value) # Nom # Parcourir toutes les lignes for row in ws.iter_rows(values_only=True): print(row) # Sauvegarder wb.save("resultat.xlsx") print("Fichier sauvegardé !")