vendredi 5 mai 2023

Exo 5 Python initiation

Voici l'énoncé de l'exercice de la semaine.

Pour rappel la correction de l'exercice 4 est donné en fin d'article;

Exercice 5:

 Construire une classe qui prend comme argument dans son constructeur une chaine de caractères et retourne une liste de tuple avec le mot et son compteur d'apparition dans le texte.

Exemple:  Comptage('Pourquoi , pourquoi , as tu fait ca , tu n'es pas un as de la route . Je voulais voir une fois quel effet ca fait')

Resultat: 

[('pourquoi', 2), ('as', 2), ('tu', 2), ('fait', 2), ('ca', 2), ('es', 1), ('pas', 1), ('un', 1), ('de', 1), ('la', 1), ('route', 1), ('je', 1), ('voulais', 1), ('voir', 1), ('une', 1), ('fois', 1), ('quel', 1), ('effet', 1)]


Règles de gestion: 

  • Ne tenir compte d'un mot d'une lettre
  • Ne pas compter ce qui est avant un apostrophe

On pourra utiliser le caractère <espace> pour repérer la séparation des mots.
Par simplification, les caractères de ponctuation sont entourés d'espace.

Corrigé de l'exercice exo4 python initiation


def transforme(liste):
    sortie = []
    lgl = len(liste)
    lgtuple = len(liste[0])
    for col in range(lgtuple):
        tup_ = ()
        for row in liste:
            tup_ += row[col],
        sortie.append(tup_)
    return sortie
 
a = [(1, 2), (3, 4), (5,6)]
print (transforme(a))

=> [(1, 3, 5), (2, 4, 6)]

Aucun commentaire: