Défis pratiques en Python

Ce cours contient de nombreux défis pour Python. Chaque défi est un petit projet Python avec des instructions détaillées et des solutions. Vous pouvez pratiquer vos compétences en Python en résolvant ces défis, améliorer vos capacités à résoudre des problèmes et apprendre à écrire un code propre et efficace.

Python

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Programme

Afficher Hello Python

Convertir des heures en secondes

Vérifier la limite d'âge

Trouver les soldats clones

Données d'apprentissage statistique

Fusionner les enregistrements d'expérience

Trouver une paire d'entiers dont la somme est égale à la valeur cible

Tri et organisation de fichiers de travail

Développement d'un robot d'indexation web avec Requests

Extraction d'informations nutritionnelles

Stockage des enregistrements d'apprentissage

Gestion d'environnements Conda

Opérateurs mathématiques de base en Python

Calculateur d'indice de masse corporelle

Suivi du sentier de randonnée avec Python

Défi Python pour vérifier les années bissextiles

Compteur de mots longs

Vérificateur de palindrome en Python

Somme des nombres premiers inférieurs à 100

Affichage de la table de multiplication

Calculateur de temps de traitement

Outil de conversion de température en Python

Système de notation scolaire

Somme de tous les nombres pairs

Trouver des expressions cibles à partir d'une liste d'entiers

Programme de recommandation de recettes

Calculatrice en Ligne de Commande

Gestion des documents avec Python

Calculateur de temps écoulé

Générer une salutation personnalisée avec Python Argparse

Message personnalisé avec des f-strings

Petit magasin de livres en ligne

Suivi des visiteurs - Gestion de l'ambassade

Panier d'Achat Simple

Chiffrement et déchiffrement en test de pénétration

Exercice pratique de Python autour des fruits

Suivi des ventes de bijoux faits main avec Python

Billets de cinéma

Automatiser l'Ouverture de Page Web

Tests unitaires de la calculatrice

Compter les caractères répétés dans une chaîne

Portée locale et globale

Méthodes magiques pour effectuer des opérations numériques

Méthodes magiques pour manipuler les chaînes de caractères

Imprimer un triangle

Héritage de classes Python

Libérer la Puissance des Décorateurs

Implémentation d'un décorateur de propriété avec expiration (TTL)

Évaluateur d'expressions mathématiques

Suivi de l'assiduité scolaire

Calculateur de différence de temps

Le Temps Passe Vite Quand On Fait des Essais Temporels

Analyse des statistiques du journal d'accès

Utilisation de base de Tqdm

Créer des personnes aléatoires

Construire une calculatrice en Python

Calcul de la capacité de passagers d'un bus

Compléter un analyseur JSON

Compter les Types de Données

Compter les Voyelles

Créer des itérateurs Python

Manipulation des types de données

Développez une application de suivi de la consommation d'eau

Échangeur de clé-valeur de dictionnaire

Trouver l'intersection de deux listes

Système d'alerte de la caserne de pompiers

Générateur de liste d'achats alimentaires

Vérificateur de disponibilité des chambres d'hôtel

Faire un objet similaire à un dictionnaire

Faire un objet similaire à une liste

Créer un objet similaire à un ensemble

Manipulation d'images avec Pil

Simulation de marché multi-fil

Calcul parallèle sur de grands ensembles de données

Traitement parallèle en Python avec Multiprocessing

Programme d'attribution de codes postaux

Pratiquer les expressions d'affectation

Fonction d'intersection d'ensembles en Python

Gestion des chemins de fichiers Pythoniques avec Pathlib

Système de traitement de données en temps réel

Maîtrise des expressions régulières

Système d'inscription scolaire

Analyse des examens scolaires

Noteur d'examen scolaire

Simplifiez votre code à la manière Pythonique

Le jeu de patience et le traitement des chaînes de caractères

Résoudre des problèmes avec l'opérateur morse de Python

Le module Decimal

Découvrir le potentiel de unicodedata

Système de vote pour la mairie d'une ville

Gestion de l'inventaire d'entrepôt avec Python

Web Scraping avec Beautifulsoup

Échange de devises avec Python

Gestion des erreurs et des exceptions

Manipuler les Fichiers comme un Pro

Amusez-vous avec vos données textuelles

Manipulation des Fichiers JSON

Envoyer un signal SOS

Convertisseur de fuseau horaire

Implémentation de l'authentification d'utilisateurs basée sur des jetons

Introduction

Défis pratiques en Python rassemble 104 problèmes de programmation indépendants pour transformer vos connaissances en solutions fonctionnelles. Les défis commencent par de petits exercices de calcul, conditions, chaînes et collections, puis abordent les outils en ligne de commande, la conception objet, les fichiers, les données web et la concurrence.

Le cours privilégie la résolution : chaque problème précise un résultat à réaliser, propose des vérifications automatiques et fournit une solution à consulter après votre tentative. Avec 53 défis Beginner, 47 Intermediate et 4 Advanced, il permet une pratique régulière ou une évaluation ciblée.

Ce que vous apprendrez

  • Transformer de courtes exigences en programmes Python produisant des résultats vérifiables
  • Résoudre des problèmes de calcul, branchement, boucles, chaînes, collections et recherche
  • Concevoir fonctions, itérateurs, classes, méthodes spéciales, héritage, propriétés et décorateurs
  • Analyser et transformer texte, expressions régulières, JSON, journaux, chemins, fichiers, dates et fuseaux horaires
  • Créer des utilitaires en ligne de commande et pratiquer validation, exceptions et tests unitaires
  • Utiliser des outils et bibliothèques ciblés comme Requests, Beautiful Soup, Pillow, tqdm, SQLite et conda
  • Appliquer threads, multiprocessus et programmation asynchrone aux tâches concurrentes
  • Comparer votre implémentation aux solutions et la corriger grâce aux contrôles automatiques

À qui s’adresse ce cours

Ce cours s’adresse aux personnes connaissant déjà la syntaxe Python de base et recherchant une pratique soutenue de la résolution de problèmes. Les débutants peuvent commencer par les petits défis introductifs ; les plus expérimentés peuvent choisir des exercices sur les décorateurs, les fichiers, le scraping, l’authentification ou la concurrence.

Prérequis : Vous devez savoir écrire et exécuter un script Python simple et comprendre variables, conditions, boucles, fonctions, chaînes et collections courantes. Les défis avancés supposent les connaissances correspondantes ; chaque concept n’est pas enseigné depuis le début avant d’être évalué.

Environnement d’apprentissage : La plupart des défis utilisent un WebIDE Ubuntu 22.04 avec éditeur et terminal ; quatre utilisent un bureau VNC Ubuntu 22.04. Les fichiers de départ, tests et ressources sont fournis, et certains défis installent notamment Beautiful Soup, Pillow, aiohttp, Requests, pytz et tqdm.

Questions fréquentes

Les 104 défis sont-ils tous de niveau débutant ?

Non. Le cours compte 53 défis Beginner, 47 Intermediate et 4 Advanced. Le niveau global indique un point de départ accessible, mais les problèmes ultérieurs peuvent demander décorateurs, analyse d’arguments, threads, multiprocessus ou code asynchrone.

S’agit-il de leçons guidées ou de problèmes autonomes ?

Ce sont des exercices centrés sur le défi. Vous recevez les exigences et les ressources initiales, implémentez le résultat puis lancez des contrôles automatiques. Chaque étape dispose d’une solution à comparer après votre tentative.

Dois-je suivre les défis dans l’ordre ?

Non. Ils sont indépendants et ne composent pas une application cumulative. Vous pouvez commencer par les fondamentaux ou choisir selon le thème et la difficulté si vous connaissez déjà les concepts requis.

Le cours comprend-il un grand projet final ?

Non. Il repose sur de nombreux petits scénarios autonomes plutôt que sur un seul projet final, afin de varier les fonctionnalités du langage, les modules standard, certains paquets tiers et les types de problèmes.

Enseignant

labby
Labby
Labby is the LabEx teacher.