Cours de Programmation Python
Cours de Programmation Python
Introduction à Python
Objectifs :
Contenu détaillé :
a) Installer Python :
b) Choisir un IDE :
c) Configurer l'environnement :
Ouvrez votre IDE et créez un nouveau fichier Python (extension .py).
a) Indentation :
Python utilise l'indentation pour définir les blocs de code (ex. : boucles,
conditions).
Exemple :
python
Copy
if 5 > 2:
print("Cinq est plus grand que deux !")
b) Commentaires :
Copy
c) Fonctions de base :
python
Copy
Copy
Exercices pratiques :
Exercice 1 : Afficher "Bonjour, Python !"
Copy
Copy
Exercice 1 :
o La fonction print() est utilisée pour afficher du texte à l'écran.
o Le texte est passé entre guillemets ("...").
Exercice 2 :
o La fonction input() permet de saisir du texte.
o Le texte saisi est stocké dans une variable ( nom).
o La fonction print() affiche un message personnalisé en
concaténant des chaînes de caractères avec l'opérateur +.
Conclusion :
Objectifs :
Contenu détaillé :
1. Types de données
a) int (entier) :
Copy
age = 25
Copy
pi = 3.14159
Copy
nom = "Alice"
d) bool (booléen) :
Représente une valeur logique (True ou False).
Exemple :
python
Copy
est_actif = True
2. Opérations de base
a) Opérations arithmétiques :
Copy
resultat = 10 + 5 * 2 # Résultat = 20
b) Opérations de comparaison :
Copy
c) Opérations logiques :
Copy
3. Variables et affectation
Déclaration :
o Une variable est créée en lui attribuant une valeur.
o Exemple :
python
Copy
x = 10
Réaffectation :
o La valeur d'une variable peut être modifiée.
o Exemple :
python
Copy
x = 20
4. Conversion de types
python
Copy
Copy
Copy
Copy
Exercices pratiques :
Exercice 1 : Calculer l’aire d’un cercle
Copy
# Calculer l'aire
aire = pi * rayon ** 2
# Afficher le résultat
print("L'aire du cercle est :", aire)
Copy
Exercice 1 :
Exercice 2 :
Conclusion :
Objectifs :
Utiliser des conditions (if, elif, else) pour contrôler le flux d'exécution.
Comprendre les boucles (for, while) pour répéter des actions.
Maîtriser les instructions de contrôle (break, continue).
Contenu détaillé :
python
Copy
if condition:
# Code à exécuter si la condition est vraie
elif : Vérifie une autre condition si la précédente est fausse.
python
Copy
elif autre_condition:
# Code à exécuter si l'autre condition est vraie
else : Exécute un bloc de code si aucune condition n'est vraie.
python
Copy
else:
# Code à exécuter si toutes les conditions sont fausses
Exemple :
python
Copy
age = 18
if age < 18:
print("Mineur")
elif age == 18:
print("Tout juste majeur")
else:
print("Majeur")
2. Boucles : for et while
a) Boucle for :
Copy
Copy
b) Boucle while :
Copy
while condition:
# Code à répéter
Exemple :
python
Copy
compteur = 0
while compteur < 5:
print(compteur)
compteur += 1
a) break :
Interrompt immédiatement la boucle.
Exemple :
python
Copy
for i in range(10):
if i == 5:
break # Arrête la boucle lorsque i atteint 5
print(i)
b) continue :
Copy
for i in range(10):
if i % 2 == 0:
continue # Saute les nombres pairs
print(i)
Exercices pratiques :
Copy
Copy
Copy
Exercice 1 :
Exercice 2 :
range(1, 11) : Génère une séquence de nombres de 1 à 10.
for : Boucle pour parcourir et afficher chaque nombre.
Exercice 3 :
Conclusion :
Vous avez appris à utiliser les conditions ( if, elif, else) pour contrôler le
flux d'exécution.
Vous avez découvert les boucles (for, while) pour répéter des actions.
Vous avez pratiqué les instructions de contrôle ( break, continue) pour
gérer les boucles.
4. Collections en Python
Objectifs :
Contenu détaillé :
1. Listes
Création :
python
Copy
ma_liste = [1, 2, 3, 4, 5]
Ajout d'éléments :
o append() : Ajoute un élément à la fin.
python
Copy
ma_liste.append(6) # [1, 2, 3, 4, 5, 6]
o insert() : Ajoute un élément à une position spécifique.
python
Copy
python
Copy
Copy
ma_liste.pop(2) # [1, 2, 4, 5, 6]
Tri :
o sort() : Trie la liste en place.
python
Copy
ma_liste.sort() # [1, 2, 4, 5, 6]
o sorted() : Retourne une nouvelle liste triée.
python
Copy
nouvelle_liste = sorted(ma_liste)
2. Tuples
Création :
python
Copy
mon_tuple = (1, 2, 3)
Immutabilité :
o Les tuples ne peuvent pas être modifiés après création.
Indexation :
o Accéder aux éléments par leur indice.
python
Copy
premier_element = mon_tuple[0] # 1
3. Ensembles
Création :
python
Copy
mon_ensemble = {1, 2, 3, 4, 5}
Opérations :
o Union (|) : Combine deux ensembles.
python
Copy
ensemble1 = {1, 2, 3}
ensemble2 = {3, 4, 5}
union = ensemble1 | ensemble2 # {1, 2, 3, 4, 5}
o Intersection (&) : Trouve les éléments communs.
python
Copy
Copy
4. Dictionnaires
Création :
python
Copy
python
Copy
Copy
python
Copy
Exercices pratiques :
Copy
# Trier la liste
nombres.sort()
Copy
Copy
# Trouver l'intersection
elements_communs = ensemble1 & ensemble2
Exercice 1 :
Exercice 2 :
dictionnaire : Stocke les notes des étudiants avec leurs noms comme
clés.
items() : Parcourt les paires clé-valeur du dictionnaire.
f-string : Formate l'affichage des notes.
Exercice 3 :
Objectifs :
Contenu détaillé :
Déclaration :
o Utilisez le mot-clé def pour définir une fonction.
o Exemple :
python
Copy
def dire_bonjour():
print("Bonjour !")
Appel :
o Utilisez le nom de la fonction suivi de parenthèses pour l'appeler.
o Exemple :
python
Copy
a) Paramètres :
Copy
def saluer(nom):
print(f"Bonjour, {nom} !")
saluer("Alice") # Affiche "Bonjour, Alice !"
b) Valeurs de retour :
Copy
Copy
def saluer(nom="invité"):
print(f"Bonjour, {nom} !")
Copy
def addition_multiple(*args):
return sum(args)
Variable locale :
o Une variable définie dans une fonction est locale à cette fonction.
o Exemple :
python
Copy
def ma_fonction():
x = 10 # Variable locale
print(x)
ma_fonction() # Affiche 10
print(x) # Erreur : x n'est pas défini en dehors de la fonction
Variable globale :
o Une variable définie en dehors de toute fonction est globale.
o Exemple :
python
Copy
x = 5 # Variable globale
def ma_fonction():
print(x) # Accède à la variable globale
ma_fonction() # Affiche 5
5. Lambda fonctions
Définition :
o Une fonction lambda est une petite fonction anonyme.
o Syntaxe : lambda paramètres: expression.
Exemple :
python
Copy
addition = lambda a, b: a + b
resultat = addition(3, 5) # resultat = 8
Exercices pratiques :
def factorielle(n):
if n == 0 or n == 1:
return 1
else:
return n * factorielle(n - 1)
# Exemple d'utilisation
print(factorielle(5)) # Affiche 120
Copy
def est_palindrome(chaine):
chaine = chaine.lower().replace(" ", "") # Ignorer la casse et les espaces
return chaine == chaine[::-1]
# Exemple d'utilisation
print(est_palindrome("Kayak")) # Affiche True
print(est_palindrome("Python")) # Affiche False
Copy
Exercice 2 :
Exercice 3 :
Conclusion :
Objectifs :
Contenu :
1. Importation de modules :
o Python dispose de nombreux modules standard qui fournissent
des fonctionnalités supplémentaires. Par exemple, le
module math offre des fonctions mathématiques avancées, tandis
que le module random permet de générer des nombres aléatoires.
o Exemple d'importation et d'utilisation :
python
Copy
import math
print(math.sqrt(16)) # Affiche 4.0
import random
print(random.randint(1, 10)) # Génère un nombre aléatoire entre 1 et 10
2. Gestion des fichiers avec le module os :
o Le module os permet d'interagir avec le système d'exploitation,
notamment pour la gestion des fichiers et répertoires.
o Exemple d'utilisation :
python
Copy
import os
Copy
Copy
import requests
response = requests.get("https://www.example.com")
print(response.text)
Exercices :
Copy
import random
import string
def generer_mot_de_passe(longueur=12):
caracteres = string.ascii_letters + string.digits
mot_de_passe = ''.join(random.choice(caracteres) for i in range(longueur))
return mot_de_passe
print(generer_mot_de_passe())
2. Lire et écrire dans un fichier texte :
o Créez un script qui écrit une chaîne de caractères dans un fichier
texte, puis lit et affiche le contenu de ce fichier.
o Exemple de code :
python
Copy
# Lire le fichier
with open("mon_fichier.txt", "r") as fichier:
contenu = fichier.read()
print(contenu)
3. Utiliser une bibliothèque comme requests pour récupérer le
contenu d’une page web :
o Installez la bibliothèque requests et utilisez-la pour récupérer le
contenu HTML d'une page web, puis affichez les 100 premiers
caractères de ce contenu.
o Exemple de code :
python
Copy
import requests
url = "https://www.example.com"
response = requests.get(url)
print(response.text[:100]) # Affiche les 100 premiers caractères de la page
Conclusion :
Objectifs :
Contenu :
python
Copy
class Etudiant:
def __init__(self, nom, age):
self.nom = nom # Attribut
self.age = age # Attribut
Copy
class Etudiant:
def __init__(self, nom, age):
self.nom = nom
self.age = age
3. Héritage et polymorphisme :
o Héritage : Une classe peut hériter des attributs et méthodes
d'une autre classe. Cela permet de réutiliser du code.
o Polymorphisme : La capacité d'une méthode à s'adapter à
différents types d'objets.
Exemple d'héritage :
python
Copy
class Personne:
def __init__(self, nom, age):
self.nom = nom
self.age = age
def se_presenter(self):
print(f"Je m'appelle {self.nom} et j'ai {self.age} ans.")
def afficher_note(self):
print(f"Ma note est {self.note}.")
Copy
class Etudiant:
def __init__(self, nom, age):
self.nom = nom
self.age = age
def __str__(self):
return f"Étudiant: {self.nom}, {self.age} ans"
def __repr__(self):
return f"Etudiant(nom={self.nom}, age={self.age})"
Exercices :
Copy
class Etudiant:
def __init__(self, nom, age):
self.nom = nom
self.age = age
self.notes = []
def calculer_moyenne(self):
if not self.notes:
return 0
return sum(self.notes) / len(self.notes)
# Utilisation
etudiant1 = Etudiant("David", 23)
etudiant1.ajouter_note(15)
etudiant1.ajouter_note(18)
etudiant1.ajouter_note(12)
print(f"Moyenne de {etudiant1.nom}: {etudiant1.calculer_moyenne()}")
2. Implémenter un système de gestion de bibliothèque (livres,
emprunteurs) :
o Créez une classe Livre avec des attributs comme le titre, l'auteur
et l'état (disponible ou emprunté).
o Créez une classe Emprunteur avec des attributs comme le nom et
une liste de livres empruntés.
o Ajoutez des méthodes pour emprunter et retourner des livres.
o Exemple de code :
python
Copy
class Livre:
def __init__(self, titre, auteur):
self.titre = titre
self.auteur = auteur
self.disponible = True
def __str__(self):
return f"{self.titre} par {self.auteur}"
class Emprunteur:
def __init__(self, nom):
self.nom = nom
self.livres_empruntes = []
# Utilisation
livre1 = Livre("1984", "George Orwell")
livre2 = Livre("Le Petit Prince", "Antoine de Saint-Exupéry")
emprunteur1 = Emprunteur("Alice")
emprunteur1.emprunter_livre(livre1)
emprunteur1.emprunter_livre(livre2)
emprunteur1.retourner_livre(livre1)
Conclusion :
Objectifs :
Contenu :
1. Bloc try...except :
o Le bloc try permet d'encapsuler du code qui pourrait générer une
exception.
o Le bloc except permet de capturer et de gérer l'exception si elle
se produit.
o Exemple :
python
Copy
try:
resultat = 10 / 0
except ZeroDivisionError:
print("Erreur: Division par zéro.")
2. Lancer des exceptions avec raise :
o Vous pouvez lancer manuellement une exception avec le mot-
clé raise. Cela est utile pour signaler des erreurs spécifiques dans
votre code.
o Exemple :
python
Copy
def verifier_age(age):
if age < 0:
raise ValueError("L'âge ne peut pas être négatif.")
return age
try:
verifier_age(-5)
except ValueError as e:
print(e) # Affiche "L'âge ne peut pas être négatif."
3. Bloc finally :
o Le bloc finally est exécuté après les blocs try et except, qu'une
exception ait été levée ou non. Il est souvent utilisé pour libérer
des ressources ou effectuer des opérations de nettoyage.
o Exemple :
python
Copy
try:
fichier = open("mon_fichier.txt", "r")
contenu = fichier.read()
except FileNotFoundError:
print("Fichier non trouvé.")
finally:
fichier.close() # Ferme le fichier dans tous les cas
Exercices :
Copy
try:
numerateur = int(input("Entrez le numérateur: "))
denominateur = int(input("Entrez le dénominateur: "))
resultat = numerateur / denominateur
print(f"Le résultat de la division est: {resultat}")
except ZeroDivisionError:
print("Erreur: Division par zéro.")
except ValueError:
print("Erreur: Veuillez entrer des nombres valides.")
2. Valider les entrées utilisateur avec des exceptions :
o Créez un programme qui demande à l'utilisateur de saisir son
âge. Validez que l'âge est un nombre positif. Si l'utilisateur entre
une valeur invalide, levez une exception et affichez un message
d'erreur.
o Exemple de code :
python
Copy
def valider_age(age):
if not isinstance(age, int) or age < 0:
raise ValueError("L'âge doit être un nombre entier positif.")
return age
try:
age = int(input("Entrez votre âge: "))
valider_age(age)
print(f"Vous avez {age} ans.")
except ValueError as e:
print(f"Erreur: {e}")
Conclusion :
Objectifs :
Exemples de projets :
Copy
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Création du message
message = MIMEMultipart()
message["From"] = expediteur
message["To"] = destinataire
message["Subject"] = sujet
message.attach(MIMEText(corps, "plain"))
# Utilisation
envoyer_email("[email protected]", "Sujet de l'e-mail", "Ceci est un
test d'envoi d'e-mail.")
2. Créer une calculatrice graphique avec tkinter :
o Utilisez la bibliothèque tkinter pour créer une interface graphique
simple pour une calculatrice.
o Exemple de code :
python
Copy
import tkinter as tk
def cliquer(chiffre):
entree.insert(tk.END, chiffre)
def calculer():
try:
resultat = eval(entree.get())
entree.delete(0, tk.END)
entree.insert(0, str(resultat))
except Exception:
entree.delete(0, tk.END)
entree.insert(0, "Erreur")
# Création de la fenêtre
fenetre = tk.Tk()
fenetre.title("Calculatrice")
# Champ d'entrée
entree = tk.Entry(fenetre, width=20, font=("Arial", 16))
entree.grid(row=0, column=0, columnspan=4)
# Boutons
boutons = [
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'0', '.', '=', '+'
]
ligne = 1
colonne = 0
for bouton in boutons:
action = lambda x=bouton: cliquer(x) if x != '=' else calculer()
tk.Button(fenetre, text=bouton, width=5, height=2,
command=action).grid(row=ligne, column=colonne)
colonne += 1
if colonne > 3:
colonne = 0
ligne += 1
# Lancement de l'application
fenetre.mainloop()
3. Développer un mini-jeu (comme le jeu du pendu) :
o Créez un jeu du pendu en utilisant des concepts de base comme
les boucles, les conditions et les fonctions.
o Exemple de code :
python
Copy
import random
def choisir_mot():
mots = ["python", "programmation", "ordinateur", "algorithme",
"développement"]
return random.choice(mots)
def jeu_du_pendu():
mot = choisir_mot()
lettres_trouvees = set()
tentatives = 6
if lettre in lettres_trouvees:
print("Vous avez déjà deviné cette lettre.")
elif lettre in mot:
lettres_trouvees.add(lettre)
if all(lettre in lettres_trouvees for lettre in mot):
print(f"Félicitations ! Vous avez deviné le mot: {mot}")
break
else:
tentatives -= 1
print(f"Lettre incorrecte. Il vous reste {tentatives} tentatives.")
if tentatives == 0:
print(f"Dommage ! Le mot était: {mot}")
# Lancement du jeu
jeu_du_pendu()
Conclusion :