Compter chaque type de caractères

PythonBeginner
Pratiquer maintenant

Introduction

Dans ce projet, vous allez apprendre à compter le nombre de lettres, d'espaces, de chiffres et d'autres caractères dans une chaîne de caractères d'entrée donnée. Il s'agit d'une tâche de programmation fondamentale qui peut être utile dans diverses applications de traitement de texte et d'analyse de données.

👀 Aperçu

$ python totalchar.py
abc123EFG * &
45?
letter=6,space=1,digit=5,other=3
$ python totalchar.py
asd5 asd asds51d#^sfd
letter=14,space=2,digit=3,other=2

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment configurer un projet Python et créer les fichiers nécessaires
  • Comment implémenter la logique pour compter différents types de caractères dans une chaîne
  • Comment tester la fonction de comptage de caractères avec les exemples fournis
  • Comment explorer des améliorations potentielles de la fonction de comptage de caractères

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre la structure de base d'un projet Python
  • Écrire une fonction pour compter le nombre de lettres, d'espaces, de chiffres et d'autres caractères dans une chaîne
  • Tester et déboguer votre fonction de comptage de caractères
  • Identifier et implémenter des améliorations potentielles de la fonctionnalité de comptage de caractères

Configurer le projet

Dans cette étape, vous allez configurer le répertoire du projet et créer les fichiers nécessaires.

  1. Ouvrez votre terminal et accédez au répertoire /home/labex/project.
  2. Créez un nouveau fichier Python nommé totalchar.py dans le répertoire du projet.
cd /home/labex/project
touch totalchar.py
  1. Ouvrez le fichier totalchar.py dans un éditeur de texte et ajoutez le code suivant :
## Solution Python pour compter les caractères


def count_chars(input_str):
    letter, space, digit, other = 0, 0, 0, 0

    ## Ajoutez votre code ici pour compter le nombre de lettres, d'espaces, de chiffres et d'autres caractères

    return f"letter={letter},space={space},digit={digit},other={other}"


if __name__ == "__main__":
    txt = input()
    print(count_chars(txt))

Ce code définit une fonction count_chars qui prend une chaîne de caractères en entrée et renvoie une chaîne de caractères avec les comptages de lettres, d'espaces, de chiffres et d'autres caractères.

✨ Vérifier la solution et pratiquer

Implémenter la logique de comptage de caractères

Dans cette étape, vous allez implémenter la logique pour compter les différents types de caractères dans la chaîne d'entrée.

  1. Dans la fonction count_chars, ajoutez le code suivant pour compter les différents types de caractères :
for char in input_str:
    if char.isalpha():
        letter += 1
    elif char.isspace():
        space += 1
    elif char.isdigit():
        digit += 1
    else:
        other += 1

Ce code parcourt chaque caractère de la chaîne d'entrée et incrémente le compteur correspondant en fonction du type du caractère.

  1. Enregistrez le fichier totalchar.py.
✨ Vérifier la solution et pratiquer

Tester la fonction de comptage de caractères

Dans cette étape, vous allez tester la fonction count_chars avec les exemples fournis.

  1. Exécutez le script totalchar.py dans le terminal :
python totalchar.py
  1. Lorsque vous êtes invité, entrez la première entrée d'exemple : abc123EFG *&45?

La sortie devrait être :

letter=6,space=1,digit=5,other=3
  1. Exécutez le script à nouveau et entrez la deuxième entrée d'exemple : asd5 asd asds51d#^sfd

La sortie devrait être :

letter=14,space=2,digit=3,other=2

Si la sortie correspond aux résultats attendus, votre fonction de comptage de caractères fonctionne correctement.

✨ Vérifier la solution et pratiquer

Améliorer la fonction de comptage de caractères

Si vous souhaitez améliorer encore la fonction de comptage de caractères, vous pouvez envisager les améliorations suivantes :

  1. Gérer les caractères Unicode : La mise en œuvre actuelle ne compte que les caractères ASCII. Vous pouvez modifier les vérifications isalpha(), isspace() et isdigit() pour gérer également les caractères Unicode.
  2. Fournir une sortie plus détaillée : Au lieu de simplement renvoyer une chaîne avec les comptages, vous pouvez renvoyer un dictionnaire ou un tuple nommé avec les comptages individuels, ce qui peut être plus utile pour un traitement ultérieur.
  3. Ajoutez la gestion d'erreurs : Implémentez la gestion d'erreurs pour traiter les entrées invalides, telles que les chaînes vides ou les entrées non de type chaîne.
  4. Optimiser les performances : Si vous prévoyez de traiter de grandes quantités de texte, vous pouvez explorer des façons plus efficaces de compter les caractères, telles que l'utilisation d'expressions régulières ou de techniques de manipulation de chaînes spécialisées.

N'oubliez pas de tester votre fonction améliorée avec diverses entrées pour vous assurer qu'elle fonctionne comme prévu.

✨ Vérifier la solution et pratiquer

Résumé

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.