Skip to content

ThomasMouchelet/challenges-python

Repository files navigation

🐍 Challenges Python - Starter

Ce repository contient une série de challenges Python progressifs pour apprendre et pratiquer les concepts fondamentaux de la programmation Python.

📚 Structure du Repository

Challenge 1 : Variables et Conditions

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

Challenge 2 : Jeu du Nombre Mystère

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)

Challenge 3 : Boucles

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)

Challenge 4 : Tableaux

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

Challenge 5 : Rock-Paper-Scissors (Avancé)

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

🚀 Comment commencer

  1. Clonez le repository :

    git clone <votre-repo>
    cd challenge/starter
  2. 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
  3. 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

🎯 Objectifs d'apprentissage

Niveau Débutant

  • Variables et types de données
  • Conditions (if, elif, else)
  • Opérateurs logiques
  • Interaction utilisateur (input())

Niveau Intermédiaire

  • Boucles (for, while)
  • Algorithmes classiques
  • Manipulation de chaînes
  • Fonctions et paramètres

Niveau Avancé

  • Structures de données complexes
  • Algorithmes de tri et recherche
  • Manipulation de matrices
  • Optimisation de code

🧪 Tests

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

💡 Conseils

  1. Lisez attentivement les commentaires - ils expliquent ce que chaque fonction doit faire
  2. Testez régulièrement - exécutez le fichier après chaque fonction implémentée
  3. Gérez les cas d'erreur - pensez aux valeurs limites et invalides
  4. Optimisez votre code - cherchez des solutions élégantes et efficaces

📖 Ressources utiles

🤝 Contribution

N'hésitez pas à :

  • Ajouter de nouveaux challenges
  • Améliorer les exercices existants
  • Corriger les erreurs
  • Proposer de meilleures solutions

Bon coding ! 🐍✨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages