Ce repository contient une série de challenges Python progressifs pour apprendre et pratiquer les concepts fondamentaux de la programmation Python.
Fichier : 01_variable_condition.py
Exercices sur les variables, conditions et logique de base :
- ✅ Vérification d'âge (catégorisation)
- ✅ Calculateur de notes (conversion numérique → lettre)
- ✅ Calculateur de remise (prix avec remises progressives)
- ✅ Frais de port (calcul selon montant et destination)
- ✅ Validation d'e-mail (vérification basique)
- ✅ Type de triangle (géométrie)
- ✅ Catégorisation de température
Fichier : 02_number_guessing_game.py
Un mini-jeu interactif pour pratiquer :
- 🎲 Génération de nombres aléatoires
- 🎮 Interaction utilisateur
- 🔍 Logique de comparaison
- 💡 Système de conseils (trop petit/grand)
Fichier : 03_boucle.py
Exercices avancés sur les boucles et algorithmes :
- 🔢 Table de multiplication
- 🔢 Nombres premiers
- 🔢 Factorielle
- 🔢 Suite de Fibonacci
- 🔢 Jeu FizzBuzz
- 🔢 Somme de chiffres
- ⭐ Motifs d'étoiles (triangles)
- 🔐 Vérification de mot de passe (boucles sur chaînes)
- 🎨 Conversion en emojis (listes)
Fichier : 04_tableaux.py
Manipulation complète des listes et structures de données :
- 📊 Analyse de tableaux (statistiques)
- 🔍 Filtrage et transformation
- 🔎 Recherche dans les tableaux
- 📈 Tri et classement
- 🔗 Opérations sur tableaux multiples
- 📝 Analyse de mots
- 🧮 Matrices (tableaux 2D)
- 📦 Groupement de données
Fichier : 05_rock_paper_scissors.py
Jeu interactif complet utilisant les concepts de tableaux :
- 🪨 Logique de base du jeu (rock bat scissors, etc.)
- 🎲 Génération de choix aléatoire pour l'ordinateur
- 📊 Utilisation de tableaux pour l'historique des parties
- 🎮 Jeu interactif avec
input()
pour les tests - 🧠 Stratégie intelligente basée sur l'historique
- 📈 Statistiques et analyse des performances
-
Clonez le repository :
git clone <votre-repo> cd challenge/starter
-
Choisissez un challenge :
python 01_variable_condition.py python 02_number_guessing_game.py python 03_boucle.py python 04_tableaux.py python 05_rock_paper_scissors.py
-
Implémentez les fonctions :
- Chaque fichier contient des fonctions avec des
TODO
- Remplacez
pass
par votre implémentation - Les tests sont déjà inclus pour vérifier votre code
- Chaque fichier contient des fonctions avec des
- Variables et types de données
- Conditions (
if
,elif
,else
) - Opérateurs logiques
- Interaction utilisateur (
input()
)
- Boucles (
for
,while
) - Algorithmes classiques
- Manipulation de chaînes
- Fonctions et paramètres
- Structures de données complexes
- Algorithmes de tri et recherche
- Manipulation de matrices
- Optimisation de code
Chaque fichier contient une section de tests à la fin. Exécutez le fichier pour voir les résultats attendus :
if __name__ == "__main__":
# Tests automatiques
print("=== Tests ===")
# ... vos tests ici
- Lisez attentivement les commentaires - ils expliquent ce que chaque fonction doit faire
- Testez régulièrement - exécutez le fichier après chaque fonction implémentée
- Gérez les cas d'erreur - pensez aux valeurs limites et invalides
- Optimisez votre code - cherchez des solutions élégantes et efficaces
N'hésitez pas à :
- Ajouter de nouveaux challenges
- Améliorer les exercices existants
- Corriger les erreurs
- Proposer de meilleures solutions
Bon coding ! 🐍✨