Voici une série d’exercices de programmation en Python, classés par niveau de difficulté, pour renforcer vos compétences.
Écrivez un programme qui affiche le message :
print("Bienvenue en programmation Python !")
Demandez à l’utilisateur son nom et affichez un message personnalisé.
nom = input("Entrez votre nom : ")
print(f"Bonjour {nom}, bienvenue en Python !")
Écrivez un programme qui demande deux nombres et affiche leur somme, leur différence, leur produit et leur quotient.
a = float(input("Entrez le premier nombre : "))
b = float(input("Entrez le deuxième nombre : "))
print(f"Somme: {a + b}")
print(f"Différence: {a - b}")
print(f"Produit: {a * b}")
print(f"Quotient: {a / b}")
Demandez un nombre à l’utilisateur et déterminez s’il est pair ou impair.
n = int(input("Entrez un nombre : "))
if n % 2 == 0:
print("Le nombre est pair.")
else:
print("Le nombre est impair.")
Écrivez un programme qui demande une phrase et compte le nombre de voyelles.
phrase = input("Entrez une phrase : ")
voyelles = "aeiouyAEIOUY"
compteur = sum(1 for lettre in phrase if lettre in voyelles)
print(f"Nombre de voyelles : {compteur}")
Affichez la table de multiplication d’un nombre donné par l’utilisateur.
n = int(input("Entrez un nombre : "))
for i in range(1, 11):
print(f"{n} x {i} = {n * i}")
Écrivez un programme qui affiche tous les nombres premiers jusqu’à un certain nombre donné.
def est_premier(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
limite = int(input("Entrez la limite supérieure : "))
print("Nombres premiers :", [i for i in range(2, limite + 1) if est_premier(i)])
Écrivez un programme qui vérifie si un mot ou une phrase est un palindrome (se lit de la même manière à l’endroit et à l’envers).
def est_palindrome(texte):
texte = texte.replace(" ", "").lower()
return texte == texte[::-1]
mot = input("Entrez un mot ou une phrase : ")
print("C'est un palindrome !" if est_palindrome(mot) else "Ce n'est pas un palindrome.")
Implémentez l’algorithme de tri par sélection en Python.
def tri_selection(liste):
for i in range(len(liste)):
min_index = i
for j in range(i + 1, len(liste)):
if liste[j] < liste[min_index]:
min_index = j
liste[i], liste[min_index] = liste[min_index], liste[i]
return liste
liste = [64, 34, 25, 12, 22, 11, 90]
print("Liste triée :", tri_selection(liste))
Faites deviner à l’utilisateur un nombre aléatoire compris entre 1 et 100.
import random
nombre_secret = random.randint(1, 100)
tentative = 0
trouve = False
while not trouve:
essai = int(input("Devinez le nombre entre 1 et 100 : "))
tentative += 1
if essai < nombre_secret:
print("Trop bas !")
elif essai > nombre_secret:
print("Trop haut !")
else:
print(f"Bravo ! Vous avez trouvé en {tentative} tentatives.")
trouve = True
Créez un programme où l’utilisateur peut ajouter, rechercher et supprimer des contacts (nom et numéro).
contacts = {}
while True:
choix = input("Choisissez : [A]jouter, [R]echercher, [S]upprimer, [Q]uitter : ").lower()
if choix == 'a':
nom = input("Nom du contact : ")
numero = input("Numéro de téléphone : ")
contacts[nom] = numero
print("Contact ajouté.")
elif choix == 'r':
nom = input("Nom du contact à rechercher : ")
print(f"Numéro : {contacts.get(nom, 'Non trouvé')}")
elif choix == 's':
nom = input("Nom du contact à supprimer : ")
contacts.pop(nom, None)
print("Contact supprimé.")
elif choix == 'q':
break
Implémentez une file d’attente où l’utilisateur peut ajouter et retirer des éléments.
from collections import deque
file = deque()
while True:
action = input("[A]jouter, [R]etirer, [V]oir, [Q]uitter : ").lower()
if action == 'a':
element = input("Entrez un élément : ")
file.append(element)
elif action == 'r':
if file:
print(f"Retiré : {file.popleft()}")
else:
print("La file est vide.")
elif action == 'v':
print("File d'attente :", list(file))
elif action == 'q':
break
Ces exercices couvrent les bases ainsi que des concepts avancés en Python.
L’exercice type qui permet à chacun de coder en Python, quel que soit son niveau, est souvent un “Projet de Gestion” qui combine les bases du langage, les structures de contrôle, les fonctions, les fichiers et les structures de données.
Objectif : Créer une application simple de gestion de tâches où l’utilisateur peut ajouter, afficher, supprimer et sauvegarder des tâches.
import json
# Charger les tâches depuis un fichier JSON
def charger_taches():
try:
with open("taches.json", "r") as fichier:
return json.load(fichier)
except FileNotFoundError:
return []
# Sauvegarder les tâches dans un fichier JSON
def sauvegarder_taches(taches):
with open("taches.json", "w") as fichier:
json.dump(taches, fichier)
# Ajouter une tâche
def ajouter_tache(taches):
tache = input("Entrez la nouvelle tâche : ")
taches.append(tache)
print("Tâche ajoutée avec succès !")
# Afficher la liste des tâches
def afficher_taches(taches):
if not taches:
print("Aucune tâche enregistrée.")
else:
print("\nListe des tâches :")
for i, tache in enumerate(taches, 1):
print(f"{i}. {tache}")
# Supprimer une tâche
def supprimer_tache(taches):
afficher_taches(taches)
try:
index = int(input("Entrez le numéro de la tâche à supprimer : ")) - 1
if 0 <= index < len(taches):
taches.pop(index)
print("Tâche supprimée avec succès !")
else:
print("Numéro invalide.")
except ValueError:
print("Veuillez entrer un nombre valide.")
# Programme principal
def gestionnaire_taches():
taches = charger_taches()
while True:
print("\nOptions :")
print("1. Ajouter une tâche")
print("2. Afficher les tâches")
print("3. Supprimer une tâche")
print("4. Sauvegarder et quitter")
choix = input("Choisissez une option : ")
if choix == "1":
ajouter_tache(taches)
elif choix == "2":
afficher_taches(taches)
elif choix == "3":
supprimer_tache(taches)
elif choix == "4":
sauvegarder_taches(taches)
print("Tâches sauvegardées. Au revoir !")
break
else:
print("Option invalide, essayez encore.")
# Lancer le programme
gestionnaire_taches()
✅ Lecture/écriture de fichiers pour la persistance des données (JSON).
✅ Manipulation de listes et boucles pour gérer les tâches.
✅ Entrées utilisateur et gestion des erreurs.
✅ Structuration avec des fonctions pour une meilleure organisation du code.
✅ Ajouter une date d’échéance aux tâches.
✅ Ajouter une priorité (Haute, Moyenne, Basse).
✅ Interface graphique (Tkinter, PyQt) au lieu du terminal.
✅ Utiliser SQLite au lieu d’un fichier JSON.
Ce type d’exercice est parfait pour apprendre, pratiquer et évoluer en Python tout en créant quelque chose d’utile.
Voici le code du Gestionnaire de Tâches avec des commentaires détaillés pour bien comprendre chaque partie du programme.
import json # Module pour manipuler les fichiers JSON (stockage des tâches)
# Fonction pour charger les tâches depuis un fichier JSON
def charger_taches():
try:
with open("taches.json", "r") as fichier: # Ouvre le fichier en mode lecture
return json.load(fichier) # Charge les tâches depuis le fichier JSON
except FileNotFoundError: # Si le fichier n'existe pas, retourne une liste vide
return []
# Fonction pour sauvegarder les tâches dans un fichier JSON
def sauvegarder_taches(taches):
with open("taches.json", "w") as fichier: # Ouvre le fichier en mode écriture
json.dump(taches, fichier) # Sauvegarde la liste des tâches sous format JSON
# Fonction pour ajouter une nouvelle tâche
def ajouter_tache(taches):
tache = input("Entrez la nouvelle tâche : ") # Demande à l'utilisateur une tâche
taches.append(tache) # Ajoute la tâche à la liste
print("✅ Tâche ajoutée avec succès !")
# Fonction pour afficher toutes les tâches enregistrées
def afficher_taches(taches):
if not taches: # Vérifie si la liste des tâches est vide
print("⚠️ Aucune tâche enregistrée.")
else:
print("\n📌 Liste des tâches :")
for i, tache in enumerate(taches, 1): # Affiche chaque tâche avec un numéro
print(f"{i}. {tache}")
# Fonction pour supprimer une tâche de la liste
def supprimer_tache(taches):
afficher_taches(taches) # Affiche la liste des tâches avant de choisir
try:
index = int(input("Entrez le numéro de la tâche à supprimer : ")) - 1 # Récupère l'index
if 0 <= index < len(taches): # Vérifie que l'index est valide
taches.pop(index) # Supprime la tâche
print("🗑️ Tâche supprimée avec succès !")
else:
print("❌ Numéro invalide.")
except ValueError: # Gère l'erreur si l'utilisateur entre autre chose qu'un nombre
print("⚠️ Veuillez entrer un nombre valide.")
# Fonction principale qui gère le programme
def gestionnaire_taches():
taches = charger_taches() # Charge les tâches enregistrées
while True: # Boucle infinie pour afficher le menu en continu
print("\n📋 Menu :")
print("1️⃣ Ajouter une tâche")
print("2️⃣ Afficher les tâches")
print("3️⃣ Supprimer une tâche")
print("4️⃣ Sauvegarder et quitter")
choix = input("👉 Choisissez une option : ") # Demande le choix de l'utilisateur
if choix == "1":
ajouter_tache(taches) # Ajoute une tâche
elif choix == "2":
afficher_taches(taches) # Affiche les tâches
elif choix == "3":
supprimer_tache(taches) # Supprime une tâche
elif choix == "4":
sauvegarder_taches(taches) # Sauvegarde avant de quitter
print("💾 Tâches sauvegardées. 👋 Au revoir !")
break # Sort de la boucle et termine le programme
else:
print("⚠️ Option invalide, essayez encore.") # Gère les entrées invalides
# Lancer le programme
gestionnaire_taches()
Ce code bien commenté permet à chacun de comprendre et modifier facilement son gestionnaire de tâches.
Télécharger un canevas Word Présentation d’Entreprise ⬇︎ 1. Définition : Qu’est-ce qu’une Présentation d’Entreprise ?…
Le dossier professionnel est un document essentiel pour structurer et valoriser un parcours professionnel. Il…
Une présentation de dossier est un document structuré qui permet d’exposer de manière claire et…
Maîtriser la Syntaxe en Français La syntaxe est l'un des piliers fondamentaux de la langue…
Dans le marché compétitif d'aujourd'hui, une proposition de valeur pertinente est primordiale pour distinguer une…
Lors de l’élaboration ou de la révision d’un texte législatif, réglementaire ou statutaire, les propositions…
This website uses cookies.