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 202
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, 305
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) # False11
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)) # longueur15 — 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é !")